netezza nzsql 将查询结果导出到 csv 文件

Posted

技术标签:

【中文标题】netezza nzsql 将查询结果导出到 csv 文件【英文标题】:netezza nzsql export query results into csv file 【发布时间】:2015-06-04 18:56:58 【问题描述】:

当我使用 netezza nzsql commndline 将查询结果导出到 csv 时,o/p 会以固定长度格式打印到文件中。即,如果一个 col 被定义为 4k 长度,则无论该字段中存储的字符串的长度如何,它都会打印出 4k 长度的字符串。结果,由于有很多额外的空间,o/p 文件变得越来越大。有没有办法绕过它?我尝试修剪列,replace(field,' ','') 但它没有帮助。

我正在使用的命令:

nzsql -d dbname -u username -h host -c "select * from table_with_90_columns " -t -o output.csv

【问题讨论】:

你需要指定一个分隔符,我想你会在这个问题here nzsql 的默认分隔符为 | .即使我使用不同的分隔符,我也会看到固定长度的 o/p。 我很好奇在使用 nzsql 时除了标题名称之外是否还可以获取标题 sql 类型... 【参考方案1】:

使用 nzsql 输出分隔数据时,请使用 -F 选项指定您选择的分隔符,并使用 -A 选项指定未格式化的输出。

或者,使用外部表,因为它们对于任何重要大小的数据都会快得多。

【讨论】:

以上是关于netezza nzsql 将查询结果导出到 csv 文件的主要内容,如果未能解决你的问题,请参考以下文章

NZSQL/CODE - 如何在 Netezza 中使用 PRINT

如何在 Netezza nzsql 中使用会话变量?

为 Netezza 数据库 (nzSQL) 配置 Django

nzsql - 在字符串中使用定义的变量

查询中的字段别名,nzsql

我可以从 Netezza 导出 SQL 查询结果吗?