任何人都有一个良好的组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)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top