如何从此sqlcmd
命令的结果集中取消连字符(-):
C:\temp>sqlcmd -d AdventureWorks -s ";"
-Q "SET NOCOUNT ON SELECT top 5 FirstName, LastName FROM Person.Contact;"
FirstName ;LastName
--------------------------------------------------;----------------------------
Gustavo ;Achong
Catherine ;Abel
Kim ;Abercrombie
Humberto ;Acevedo
Pilar ;Ackerman
C:\temp>
发布于 2010-03-02 18:07:10
我不认为有任何选择可以实现这一点-我担心你将不得不接受这些头文件。
发布于 2015-07-24 07:01:21
我没有在一个地方看到所有这些信息,我想下一个寻找它的人可能会喜欢它……
使用-h -1
选项从输出中删除短划线(-),使用SET NOCOUNT ON
删除“受影响的行”。如果您要为另一个系统创建报告或CSV文件以进行处理,则此功能非常有用。
示例:
SQLCMD -S 127.0.0.1\SQL_SERVER_Instance -d db_name -U db_login -P password -i your_script.sql -o your_output.csv -h -1
在您的SQL脚本中:
SET NOCOUNT ON -- removes (rows affected from the output)
select 'your_column_1, your_column_2'
select * from your_table
为此,您不需要在select语句之间使用union。
发布于 2011-06-15 15:17:01
我唯一能想到的就是使用-h -1
开关删除标题,并将列名作为第一行添加到SQL查询中:
SELECT 'FirstName' as FirstName, 'LastName' as LastName
UNION
SELECT top 5 FirstName, LastName FROM Person.Contact
请注意,如果存在(var)char
以外的其他数据类型,则需要使用:CAST(MyColumnName AS varchar(32)) as MyColumnName
转换该字段
https://stackoverflow.com/questions/2362229
复制相似问题