我们正在使用SQL * Plus将数据导出到csv文件。我们同时具有小数和文本列,并且每个字段都以逗号(,
)分隔,但是某些文本列也包含逗号。在将数据导入其他数据库时,我们看到文本中的这些逗号被视为列分隔符。谁能告诉我我该如何克服?
set tab off
SET head OFF
SET feedback OFF
SET pagesize 0
SET linesize 3000;
SET colsep ,
set trimspool on
set trimout on
set trims on
set null ""
set rowprefetch 2
set feedback off
set arraysize 1000
set PAGESIZE 50000
set STATEMENTCACHE 20
set numwidth 15
column coulmnName format 999999999.99
column coulmnName format 999999999.99
column coulmnName format 999999999.99
column coulmnName format 999999999.99
只需使用字符串数据类型将双引号字符连接到列的开头和结尾:
SELECT '"' || stringColumnA || '"' AS stringColumnA,
numberColumnB,
'"' || stringColumnC || '"' AS stringColumnC
-- ...
FROM table_name;
如果您的列中已经包含双引号,则将其加倍以将其转义:
SELECT '"' || REPLACE( stringColumnA, '"', '""' ) || '"' AS stringColumnA,
numberColumnB,
'"' || REPLACE( stringColumnC, '"', '""' ) || '"' AS stringColumnC
-- ...
FROM table_name;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句