保持SQL Developer 4.0在导出期间显示空值

时间:2016-08-25 15:49:11

标签: oracle export oracle-sqldeveloper

在SQL Developer 4.0中,我有我的Pref>数据库>进展>将Null值显示为(null)**非常确定这是默认值

我的查询结果报告网格将NULL显示为(null)....完美!

当我导出(或复制/粘贴)任何格式化的文件类型时,尝试了所有这些,数据显示为"(null)"在我的查询结果报告网格现在只是一个空格," " ...

我正在尝试向另一个部门提供QA测试报告,虽然我可以解决这个写SQL和格式化每列的输出,但我宁愿导出或复制/粘贴到excel中以生成我的样张。

对于我没有看到的这种行为是否有偏好?

库尔特

1 个答案:

答案 0 :(得分:2)

您可以使用SQL * Plus set null command,这是许多SQL Developer认可的。

当您设置该查询然后将查询作为脚本运行(F5)时,输出将显示在“脚本输出”窗口中,并且您指定的任何文本都会显示而不是null。您可以从那里复制和粘贴,但是您必须将文本转换为Excel中的数据。

如果您将查询作为语句(Ctrl-Enter)运行,则“查询结果”窗口中的输出将显示您在首选项中设置的值,您使用set null指定的内容。但是,当您右键单击并导出为CSV时,导出文件 将使用set null字符串。

例如,如果在工作表中设置空值处理:

set null "NULL"

然后以脚本形式运行查询:

select 1 as id, null as value from dual;

“脚本输出”窗口显示:

        ID VALUE
---------- -----
         1 NULL 

如果您将查询作为语句运行,则“查询结果”窗口会显示(null)来自首选项,而不是NULL

enter image description here

但是当您右键单击并导出为CSV时,生成的文件包含:

"ID","VALUE"
1,NULL

如果您执行set null "(null)"以使该值与显示首选项匹配,那么您当然不会注意到差异。