14/01/2009, 13:45
|
| | | Fecha de Ingreso: mayo-2005 Ubicación: Madrid
Mensajes: 505
Antigüedad: 19 años, 6 meses Puntos: 16 | |
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) |