当我在交互模式下使用sqsh时,有时我喜欢以下面的方式运行我的查询,所以我可以在一个不错的csv文件中获取它:
1>从表格中选择* 嗒嗒=嗒嗒
2 - ; go -m bcp> /文件/名称/此处
我遇到的唯一问题是使用“-m bcp”选项不会在输出中提供列名。知道如何以“干净”的方式获取这些列名吗?
答案 0 :(得分:3)
您尝试过
时,sqsh中有CSV显示模式答案 1 :(得分:0)
尝试:
1> select * from Table where Blah=Blah
2> go -m csv > /file/name/here
答案 2 :(得分:0)
除了其他答案中提到的csv
样式之外,默认horiz
样式与colsep
(不是bcp_colsep
)中的适当值相结合,将产生带列的分隔输出名。
1> \set colsep="|"
1> select * from Table where Blah=Blah
2> go
|heading1|heading2|
|--------|--------|
|row1 |col2 |
|row2 |col2 |
但是,列值会被填充,并且还会打印第一列之前的标题下划线和初始列分隔符。例如,可以使用awk
剥离这些内容。也许没有灵丹妙药......
sqsh
,否(来自这个问题的信息:What options are there for the sqsh style "csv" (or anyway to get tab-delimited out))。