题
任何人都有一个良好的组sqlplus配置指令,以帮助改变一个给sql query到很好的标签中分离出用于牵引入电子表格或者进一步处理?
解决方案
检查出Oracle文件:
你可以产生一项卡在Oracle通过使用标签的ASCII值9和人权委员会的功能:
select chr(9) from dual;
其他提示
Justin在他的链接中指出,使用 set colsep
函数SQLPlus命令可以为每列输入一个分隔符。
但是对于制表符分隔, set colsep Chr(9)
将不起作用。
对于UNIX或LINUX,使用 set colsep''
,单引号之间的空格为键入的选项卡。
对于Windows,请使用以下设置:
col TAB# new_value TAB NOPRINT
select chr(9) TAB# from dual;
set colsep "&TAB"
select * from table;
我不止一次盗取的一个特殊脚本来自将数据提取到平面文件。如果我需要SQL * Plus中的快速和脏的平面文件。我倾向于更喜欢Tom先前在该线程上发布的DUMP_CSV函数,用于任何正在进行的过程。
我得到了一个愚蠢的解决方案。它工作得非常好。
解决方案
SELECT column1 || CHR(9) || column2 || CHR(9) || column3 ... ...
FROM table
背后的原则
实际上,它只是一个字符串连接。
CHR(9) - > '\ t'
column1 || CHR(9)|| column2 - > concat(column1,'\ t',column2)
不隶属于 StackOverflow