获取使用sqsh -m bcp选项的列名?

时间:2010-02-19 22:15:24

标签: sql sybase sqsh

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

  

1>从表格中选择*   嗒嗒=嗒嗒

     

2 - ; go -m bcp>   /文件/名称/此处

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

3 个答案:

答案 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))。