繁体   English   中英

Netezza以双引号导出到CSV

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM