我需要批量导出每天“csv”文件中数据库的一些数据。
实际上,我正在使用 SET COLSEP 命令,但在导出大小为 4000 (VARCHAR2 : 4000) 的大列时遇到一些问题:它在输出文件上返回给我许多空行和换行符。
我将尝试用一个例子更好地解释:
QUERY
-----
SET NEWPAGE 0
SET SPACE 0
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET PAGESIZE 0
SET LINESIZE 2000
SET COLSEP ";"
SPOOL test.csv
SELECT
C.COLUMN1,
C.COLUMN2,
C.COLUMN3, -- column with issue
C.COLUMN4,
FROM TABLE1
WHERE CONDITION1 = TRUE;
SPOOL OFF
exit
我的 csv 文件中有输出:
OUTPUT
------
+---------+---------+---------------------------+---------+
| COLUMN1 ; COLUMN2 ; COLUMN3 ; COLUMN4 |
+---------+---------+---------------------------+---------+
| VALUE1_1;VALUE1_2 ;Lorem ipsum dolor sit amet ;VALUE1_4 |
+---------+---------+---------------------------+---------+
| consectetur adipiscing elit |
+---------+---------+---------------------------+---------+
| Donec a diam lectus |
+---------+---------+---------------------------+---------+
| VALUE2_1;VALUE2_2 ;Sed sit amet ipsum mauris ;VALUE2_4 |
+---------+---------+---------------------------+---------+
| |
+---------+---------+---------------------------+---------+
| Donec a diam lectus |
+---------+---------+---------------------------+---------+
| VALUE3_1;VALUE3_2 ; ;VALUE2_4 |
+---------+---------+---------------------------+---------+
| Pellentesque auctor nisi |
+---------+---------+---------------------------+---------+
| Donec a diam lectus |
+---------+---------+---------------------------+---------+
正如您所看到的,我在“COLUMN3”字段上有很多换行符,所以我想是否有一些有用的命令(例如 SET SOMETHING)可以在这种情况下帮助我。
感谢大家的支持。
Luca
SELECT
C.COLUMN1,
C.COLUMN2,
replace(C.COLUMN3,CHR(10),null) AS COLUMN3,
C.COLUMN4,
FROM TABLE1 C
WHERE CONDITION1 = TRUE;
由于此处的新行是由于数据造成的,因此您可能必须在选择查询本身中删除它们!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)