我正在尝试使此bcp工具以特定方式工作。-c开关应该使用chars导出,但是由于某些原因,Notepad ++中显示了一个奇怪的char,就像它是UNICODE还是其他格式一样。
我想获取该char(在数据库中为空字符串)作为空字符串导出到文本文件中。你是怎样做的?
好吧,在网上浏览后,这就是我发现的东西。考虑将其放在SO中,以便更多的人可以使用它。
http://www.techtalkz.com/microsoft-sql-server/147106-how-export-empty- strings-via-bcp.html
但是,当我运行bcp时,使用ASCII“ NUL”字符(0x0)将空字符串写入文本文件。相反,我希望该字段填充空白(0x20)。
解决方案:
在文本文件中,批量处理数据时,空字符串将解释为NULL。NUL字符被解释为空字符串,因此具有一致性。但这对将数据导出到另一个系统没有太大帮助。
只需将NULLIF可能在数据库中为空的那个字段包装起来,并使其捕获''并替换为NULL。这将被转换为^^ values ^^^^更多的值^^和更多^^,因此您将获得一个带空格而不是NUL字符的双分隔符。
NULLIF
''
NULL
例如:
... NULLIF(pri.InstanceName, '') as PerformanceInstanceName, ...
希望这对某人有帮助。