首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在SQLCMD中抑制连字符

如何在SQLCMD中抑制连字符
EN

Stack Overflow用户
提问于 2010-03-02 17:57:03
回答 13查看 54K关注 0票数 33

如何从此sqlcmd命令的结果集中取消连字符(-):

代码语言:javascript
复制
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>
EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2010-03-02 18:07:10

我不认为有任何选择可以实现这一点-我担心你将不得不接受这些头文件。

票数 -6
EN

Stack Overflow用户

发布于 2015-07-24 07:01:21

我没有在一个地方看到所有这些信息,我想下一个寻找它的人可能会喜欢它……

使用-h -1选项从输出中删除短划线(-),使用SET NOCOUNT ON删除“受影响的行”。如果您要为另一个系统创建报告或CSV文件以进行处理,则此功能非常有用。

示例:

代码语言:javascript
复制
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脚本中:

代码语言:javascript
复制
SET NOCOUNT ON -- removes (rows affected from the output)
select 'your_column_1, your_column_2'
select * from your_table

为此,您不需要在select语句之间使用union。

票数 22
EN

Stack Overflow用户

发布于 2011-06-15 15:17:01

我唯一能想到的就是使用-h -1开关删除标题,并将列名作为第一行添加到SQL查询中:

代码语言:javascript
复制
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转换该字段

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2362229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档