我想将数据从 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
在excel中打开时。
谢谢
最佳答案
经过几天的搜索,我以这种方式解决了这个问题:
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 并按该 id 对 UNION 结果进行排序。否则,标题可能位于结果文件的底部。
关于db2 - 使用列名从 db2 导出数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10122505/