2

当我在交互模式下使用 sqsh 时,有时我喜欢以下列方式运行我的查询,以便可以在一个不错的 csv 文件中获取它:

1> 从 Blah=Blah 的表中选择 *

2> 去 -m bcp > /文件/名称/这里

我唯一的问题是使用“-m bcp”选项不会给我输出中的列名。知道如何以“干净”的方式获取这些列名吗?

4

3 回答 3

3

sqsh里面有个CSV显示模式你试过了吗

于 2010-03-26T15:23:19.353 回答
0

尝试:

1> select * from Table where Blah=Blah
2> go -m csv > /file/name/here 
于 2016-12-14T16:39:48.227 回答
0

除了csv其他答案中提到的样式外,默认样式与(not )horiz中的适当值相结合将产生带有列名的分离输出。colsepbcp_colsep

1> \set colsep="|"

1> select * from Table where Blah=Blah
2> go
|heading1|heading2|
|--------|--------|
|row1    |col2    |
|row2    |col2    |

但是,列值被填充,并且还打印了第一列之前的标题下划线和初始列分隔符。例如,这些可以被剥离awk。或许没有灵丹妙药……

作为列分隔符的制表符必须按字面意思插入CtrlV-Tab除非sqsh正在使用最近的(来自此问题的信息:sqsh 样式“csv”有哪些选项(或无论如何要以制表符分隔))。

于 2017-08-31T10:53:39.430 回答