[英]Netezza export to csv with double quotes
我想将一些数据从Netezza表导出到csv文件中。
我希望文件具有标题,以逗号分隔,并在所有非数字字段周围加双引号。
我正在使用以下语法:
CREATE EXTERNAL TABLE 'F:\My Documents\noname.txt'
USING
(
IncludeHeader
DELIMITER ','
QUOTEDVALUE 'DOUBLE'
REQUIREQUOTES 'TRUE'
ENCODING 'internal'
REMOTESOURCE 'ODBC'
ESCAPECHAR '\'
NULLVALUE ''
)
AS
SELECT *
FROM MYTABLE
但是,输出没有显示双引号的迹象。 示例输出行如下所示:
04_0001_17.jpg,fr50139,Y,32
任何想法如何获得这样的东西?
"04_0001_17.jpg","fr50139","Y",32
从7.2.X版开始,Netezza在卸载期间不支持QUOTEDVALUE。 您需要将单列或所有列都用双引号引起来,并将其作为select语句的一部分。
CREATE EXTERNAL TABLE 'C:\noname.txt'
USING
(
IncludeHeader
ENCODING 'internal'
REMOTESOURCE 'ODBC'
ESCAPECHAR '\'
DELIMITER ','
)
AS
SELECT *
FROM (
SELECT quote_ident(prod_id) AS prod_id
,quote_ident(CUST_ID) AS CUST_ID
FROM TEST..IMP_SALES_20160223 limit 10
) a;
包含额外的选择以提取列名称。
输出:
PROD_ID,CUST_ID
"13","1660"
"13","1762"
"13","1948"
"13","2380"
"13","5590"
"13","8540"
"13","9076"
"13","35834"
"13","524"
"13","188"
在Netezza中围绕给定列获取引号的一种繁琐的方法是使用两个垂直竖线字符(“ ||”)在引号前面和后面加上引号:
select '"' || col1 || '"', '"' || col2 || '"', col3 from table
将其保存到临时表,然后导出临时表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.