Separar campos de una select con un caracter

Estoy empezando con Oracle y ando algo perdido. Espero que puedan ayudarme. Gracias de antemano.
Mi problema es que tengo que sacar una serie de listados formateados tal que cada campo tenga un carácter de control (el carácter "pipa"
"|") como separador de campo. Lo he estado haciendo concatenando dicho carácter a cada campo así:
select nombre || '|' || apellidos || '|' || email ....
Lo malo es que ahora las consultas tienen una media de 30 campos y me da miedo solo de pensar en concatenar todos los campos uno por
uno... Uff! ¿Saben alguna otra manera de hacerlo?

1 Respuesta

Respuesta
1
Tengo una buena noticia para ti: SI hay otra manera mucho más sencilla para hacer lo que necesitas.
Debes configurar tu entorno SQLPlus para indicarle que quieres utilizar un carácter separador de columnas diferente al de por defecto. Y
después solo tienes que hacer un select *.... ¡Sin tener que indicar los campos uno por uno! No me digas que no te he alegrado el día, je je.
Para tu ejemplo, suponiendo que la tabla "T" tuviera los campos "nombre", "apellidos" y "email":
SQL> set colsep '|'
SQL> select * from T;
Tinoco |DBA |[email protected]
Experto |oracle |[email protected]
Ahora es muy fácil cargar estos datos por ejemplo en una hoja excel, indicando separador de campo el "|".
Hola Tinoco.
Muchísimas gracias por tu respuesta y tu rapidez.
¡MENOS MAL! Qué peso me quitas de encima.
Lo he probado y funciona OK. Además, precisamente lo quería para cargar los datos en ficheros Excel.
Muchas gracias de nuevo. Te incluiré en mi lista de expertos.
¡Hasta pronto!
:: Novato76 ::

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas