sqlcmd:协调-W和-Y

| 我有一个自动化的批处理过程,该过程使用sqlcmd从数据库中提取数据并将其转储到文本文件中。该数据库中的许多字段的类型为
varchar(max)
,除非我在sqlcmd调用的标志中添加诸如
-y 0
之类的内容,否则Sqlcmd会将这些字段限制为256个字符。 这为我提供了大于256个字符的字段的全文,但同时也增加了大量空白。字段被填充以使每个字段根据其数据类型尽可能的大,从本质上给了我很大的文件,并带有大量的填充和浪费的空间。 我可以通过在我的sqlcmd标志中添加
-W
来解决此问题,但这给我一个错误,指出
-W
-y
不兼容。 有人遇到过这个问题吗?关于如何解决的想法?     
已邀请:
有人建议使用
-s
指定列分隔符可以修剪数据,就好像未指定数据以固定宽度输出一样。 如果这样不起作用,您是否在
SELECT
查询中尝试了
RTRIM(LTRIM(ColumnName))
?     
在使用SQLCMD创建CSV文件时遇到了这个问题,并且通过欺骗SQLCMD解决了它。我没有返回几个字段,而是让SQLCMD将逗号作为分隔符,而是将所有字段连接在一起,将自己放在了逗号之间。我知道这是一个丑陋的解决方法,但这解决了我的问题。希望它可以帮助别人。     

要回复问题请先登录注册