Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/01/2009, 13:45
Avatar de Drako_18
Drako_18
 
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 19 años
Puntos: 16
Exclamación Respuesta: Ayuda con una select

para eso deberías de coger y crearte una función,
que vaya comprobando que el valor del "espacio actual"
(con un substr('E23455-F', i, 1)) y almacenarlo en una
variable auxiliar para devolver el número.

Si no sabes como hacerlo pregunta, es facil.

CREATE OR REPLACE FUNCTION DAME_NUMERO(PVA_CADENA VARCHAR2)
RETURN VARCHAR2
AS
VNU_RESULT VARCHAR2;
VNU_POSICION NUMBER;
VNU_BASURA NUMBER;
BEGIN


WHILE (LENGTH(PVA_CADENA) <= VNU_POSICION) THEN


BEGIN
VNU_RESULT := VNU_RESULT||TO_NUMBER(SUBSTR(PVA_CADENA, VNU_POSICION, 1));
EXCEPTION
WHEN OTHERS THEN
NULL;
END;

VNU_POSICION := VNU_POSICION +1;

END WHILE;

RETURN(VNA_RESULT);
END DAME_NUMERO;


PRUEBA ESO, YO AHORA MISMO NO PUEDO PROBAR PORQUE NO TENGO INSTALADO ORACLE...



Saludos!!!
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)