BCP 导出 - 空字符串

BCP Export - Empty String

我有一个观点需要保持原样,因为到处都在调用它。所以不能修改。 视图 returns 某些列为空字符串。

select col1, col2, col3, '' as col4, '' as col5 from myTable

这就是我启动 BCP 命令以将该视图导出到 csv 文件的方式。 @FileLocation@FileName 是预先设置的。

declare @SQL varchar(8000)
set @SQL = 'select col1, col2, col3, '''' as col4, '''' as col5 from myTable'
set @SQL = 'bcp "' + @SQL + '" queryout "' + @FileLocation + @FileName + '" -c -t; -q -T"'
exec master..xp_cmdshell @SQL

文件创建没有问题,但 col4col5 在 Notepad++ 中显示为“NUL”。 我需要如何修改我的 BCP 命令以导出空字符串?

bcp.exe 有一个奇怪的行为,在 out/queryout:

期间翻转 NULL''

When extracting data, the bcp utility represents an empty string as a null and a null string as an empty string.

REF:bcp Utility - Arguments

尝试使用以下查询:

select col1, col2, col3, null as col4, null as col5 from myTable

看了所有的评论,似乎没有办法完成我想要的。我最终复制了视图并以适用于 bcp 的方式填充了空白字段。 非常烦人,但显然是唯一可行的选择。