RPAD y LPAD no funciona
Publicado por Pepo (1 intervención) el 19/02/2016 11:03:18
Buenos dias,
tengo un problema que a continuacion os voy a exponer a ver si alguien me puede ayudar.:
Tengo un script que se conecta a una base de datos oracle, y debo realizar varias descargas de datos de varias tablas; y la salida debe ser un archivo de texto, el cual quiero que me deje bien cuadrado para su posterior carga en otra base de datos de otra maquina.
El caso es que mi script de unix tiene implicito la conexion de la base de datos y la select de la tabla que quiero descargar la he metido en un archivo .sql de una ruta de la maquina sobre la cual ejecuto el sript de unix.
Hasta aqui todo bien, se conecta, ejecuto y funciona todo a excepcion de RPAD y LPAD, os explico, he detectado que si pongo la funcion RPAD ó LPAD indicando que rellene con cualquier caracter lo hace perfectamente, pero a la hora de poner que lo rellena con espacios no lo hace
Funciona de esta manera
NVL(LPAD(TRIM(EMPLEADO),15,'-'),,'NULO ')
NO Funciona de esta manera
NVL(LPAD(TRIM(EMPLEADO),15),'NULO ')
NVL(LPAD(TRIM(EMPLEADO),15,' '),'NULO ')
He probado bastante veces y no encuentro la solución, ¿podeis ayudarme por favor? No se si puede ser problema de que al llamar desde el shell script al sql no funcione o cual es el motivo?.
Gracias de antemano
tengo un problema que a continuacion os voy a exponer a ver si alguien me puede ayudar.:
Tengo un script que se conecta a una base de datos oracle, y debo realizar varias descargas de datos de varias tablas; y la salida debe ser un archivo de texto, el cual quiero que me deje bien cuadrado para su posterior carga en otra base de datos de otra maquina.
El caso es que mi script de unix tiene implicito la conexion de la base de datos y la select de la tabla que quiero descargar la he metido en un archivo .sql de una ruta de la maquina sobre la cual ejecuto el sript de unix.
Hasta aqui todo bien, se conecta, ejecuto y funciona todo a excepcion de RPAD y LPAD, os explico, he detectado que si pongo la funcion RPAD ó LPAD indicando que rellene con cualquier caracter lo hace perfectamente, pero a la hora de poner que lo rellena con espacios no lo hace
Funciona de esta manera
NVL(LPAD(TRIM(EMPLEADO),15,'-'),,'NULO ')
NO Funciona de esta manera
NVL(LPAD(TRIM(EMPLEADO),15),'NULO ')
NVL(LPAD(TRIM(EMPLEADO),15,' '),'NULO ')
He probado bastante veces y no encuentro la solución, ¿podeis ayudarme por favor? No se si puede ser problema de que al llamar desde el shell script al sql no funcione o cual es el motivo?.
Gracias de antemano
Valora esta pregunta


0