导出时删除clickhouse中字符串的引号

lrpiutwd  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(1)|浏览(1424)

我正在尝试从clickhouse cli将数据导出到csv。我有一个字段是字符串,当导出到csv时,这个字段周围有引号。我想出口没有 quotes 但找不到任何可以设置的设置。
我通过了https://clickhouse.yandex/docs/en/interfaces/formats 但价值观部分提到
字符串、日期和带时间的日期以引号输出
而对于json,它们有一个标志,用于删除int64和uint64周围的引号
为了与javascript兼容,int64和uint64整数默认用双引号括起来。要删除引号,可以将配置参数output\ format\ json\ quote\ 64bit\ integers设置为0。
我想知道csv中的字符串是否也有这样的标志。
我正在使用下面的命令导出

clickhouse client --multiquery --host="localhost" --port="9000" --query="SELECT field1, field2 from tableName format CSV"  > /data/content.csv

如果什么都不管用,我想把引号从shell中去掉。
任何帮助的方式,我可以删除报价,而csv生成将不胜感激。

1cosmwyk

1cosmwyk1#

不,没有。但是,您可以通过 arrayStringConcat .

SELECT arrayStringConcat([toString(field1), toString(field2)], ',') from tableName format TSV;

编辑

为了使 Nullable 输出为空字符串,您可能需要 if 功能。

if(isNull(field1), '', assumeNotNull(field1))

这适用于任何类型,而 assumeNotNull 独自一人只对你有用 String

相关问题