Sqlcmd生成文件,标题下没有虚线,没有行计数

Lil*_*sey 13 sql-server-2005 sqlcmd

使用以下sqlcmd脚本:

sqlcmd -S . -d MyDb -E -s, -W -Q "select account,rptmonth, thename from theTable"  
> c:\dataExport.csv
Run Code Online (Sandbox Code Playgroud)

我得到一个包含的csv输出文件

ACCTNUM,rptmonth,facilname

-------,--------,---------
ALLE04,201406,Allendale老年人生活社区 - LTC APPL02,201406,Applewood Estates ARBO02,201406,Arbor Care Centre
ARIS01,201406,樱桃山的AristaCare
...

(139行受影响)

有没有办法摆脱列标题下的虚线:-------,--------,但保留列标题?

还有一种方法可以摆脱底部用于行数的两条线?

我尝试使用parm -h-1但是除去了列标题以及虚线.

Bog*_*ean 35

解决方案:

1)要删除行计数("(139行受影响)"),您应该使用SET NOCOUNT ON语句.见参考.

2)要删除列标题,您应该使用-h带有值的参数-1.请参见参考(格式化选项部分).

例子:

C:\Users\sqlservr.exe>sqlcmd -S(local)\SQL2012 -d Test -E -h -1 -s, -W -Q "set nocount on; select * from dbo.Account" > d:\export.txt. 
Run Code Online (Sandbox Code Playgroud)

要么

C:\Users\sqlservr.exe>sqlcmd -S(local)\SQL2012 -d Test -E -h -1 -s, -W -Q "set nocount on; select * from dbo.Account" -o "d:\export2.txt"
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的“ nocount”帮助。那行得通。但是,正如我在问题中所述,我需要列标题标题,而不是虚线,并且-h -1也删除了列标题标题。有没有办法摆脱列标题下的虚线:-------,--------,但保留列标题? (2认同)

小智 7

回答最高的那个人没有回答如何删除虚线。这是我很棒的解决方案。

  1. 首先包括-h -1,它同时删除了虚线和标题
  2. 然后,在您的select语句之前,使用PRINT语句手动插入所需的标题字符串。因此,在您的情况下,PRINT'acctnum,rptmonth,facilname'选择.. * ...来自...

抱歉,我迟到了4年9个月。


Wal*_*.K. 5

使用以下内容;

sqlcmd -S . -d MyDb -E -s, -h-1 -W -Q "set nocount on;select 'account','rptmonth', 'thename';select account,rptmonth, thename from theTable"  
> c:\dataExport.csv
Run Code Online (Sandbox Code Playgroud)
  • 删除标题 -h-1
  • 删除行数 [设置无计数;]
  • 添加标题选择 [选择 'account','rptmonth', 'thename';]
  • 添加您的选择 [选择帐户,rptmonth,表中的名称;]