oracle - tabla - Configuración de SQLPlus para generar archivo de datos separados por tabulaciones
oracle spool set options (4)
¿Alguien tiene un buen conjunto de directivas de configuración sqlplus para ayudar a transformar una consulta sql dada en una salida muy bien separada por tabuladores para acceder a una hoja de cálculo o un procesamiento posterior?
Como Justin señaló en su enlace, al utilizar la función set colsep
, el comando SQLPlus guarda el tipeo de un separador para cada columna.
Pero para delimitado por tabuladores, set colsep Chr(9)
no funcionará.
Para UNIX o LINUX, use set colsep '' ''
con el espacio entre las comillas simples que son una pestaña mecanografiada.
Para Windows, use estas configuraciones:
col TAB# new_value TAB NOPRINT
select chr(9) TAB# from dual;
set colsep "&TAB"
select * from table;
Consulte la documentación de Oracle:
Puede generar una pestaña en Oracle utilizando el valor ASCII 9 de la pestaña y la función chr:
select chr(9) from dual;
Un script en particular que he robado en más de una ocasión proviene de un hilo AskTom al extraer datos a un archivo plano . Si necesitaba un archivo plano rápido y sucio de SQL * Plus. Sin embargo, preferiría que la función DUMP_CSV que Tom publicó anteriormente en ese hilo para cualquier tipo de proceso en curso.
Tengo una solución estúpida. Funcionó muy bien.
Solución
SELECT column1 || CHR(9) || column2 || CHR(9) || column3 ... ...
FROM table
principio detrás
En realidad, es solo una concatenación de cadenas .
CHR (9) -> ''/ t''
column1 || CHR (9) || column2 -> concat (columna1, ''/ t'', columna2)