3

db2 テーブルから csv 形式にデータをエクスポートしたいのですが、最初の行がすべての列名である必要もあります。

次のコマンドを使用してもほとんど成功しません

EXPORT TO "TEST.csv" 
OF DEL 
MODIFIED BY NOCHARDEL coldel: ,
SELECT col1,'COL1',x'0A',col2,'COL2',x'0A' 
FROM TEST_TABLE;

しかし、これで私は次のようなデータを取得します

Row1 Value:COL1:
Row1 Value:COL2:
Row2 Value:COL1:
Row2 Value:COL2:

次のクエリも試しました

EXPORT TO "TEST.csv" 
OF DEL 
MODIFIED BY NOCHARDEL 
SELECT 'COL1',col1,'COL2',col2 
FROM ADMIN_EXPORT;

しかし、これは、Excelで開いたときに各行データとともに列名をリストします。

以下の形式でデータを取得する方法はありますか

COL1   COL2
value  value
value  value

エクセルで開くと。

ありがとう

4

3 に答える 3

7

何日も検索した後、この問題を次のように解決しました。

 EXPORT TO ...
 SELECT 1 as id, 'COL1', 'COL2', 'COL3' FROM sysibm.sysdummy1
 UNION ALL
 (SELECT 2 as id, COL1, COL2, COL3 FROM myTable)
 ORDER BY id

db2 の定数文字列を何もないところから選択することはできないため、sysibm.sysdummy1 から選択する必要があります。手動で追加した列を最初の行に配置するには、疑似 ID を追加し、UNION の結果をその ID で並べ替える必要があります。それ以外の場合、ヘッダーは結果のファイルの下部にある可能性があります。

于 2014-09-24T19:45:21.993 に答える
-1

テーブルの最初の行として列名を挿入します。

order by を使用して、列名を持つ行が最初に表示されるようにします。

于 2012-04-12T21:17:22.430 に答える