【发布时间】:2017-06-01 17:54:37
【问题描述】:
我有一个命令如下:
SPOOL &&p_CSVfile
SELECT
YEAR || ', ' ||
TO_CHAR(AMOUNT, '$9,999,999,999.99')
FROM TABLE
SPOOL OFF
...AMOUNT 字段中的值可以包含逗号。在 Microsoft Excel 中打开此文件时,如果 AMOUNT 字段包含逗号,则它会被视为两个单独的字段。有没有一种我不知道的简单方法,或者我必须更改分隔符?
【问题讨论】:
-
如果您不需要千、百万等的逗号分隔符,只需替换逗号
REPLACE(Amount,',',''),或将您的值用引号括起来'"' + Amount + '"' -
Spool 只是创建一个文本文件。它不会将字符串用引号括起来。您可以使用 Oracle utl_file 包来精确控制您的输出,或者使用类似 SQLDeveloper 版本 4 的东西,它具有“提示”/* csv*/ 来正确分隔 csv 输出。
标签: excel oracle csv delimiter