2016-09-02 11 views
1

Netezzaテーブルのデータをcsvファイルにエクスポートします。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 

答えて

0

一つ、:

select '"' || col1 || '"', '"' || col2 || '"', col3 from table 

保存これまでテンポラリテーブルをエクスポートして、テンポラリテーブルをエクスポートします。

1

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" 
関連する問題