bcp 将 varbinary 导出到平面文件

bcp export varbinary to flat file

我想使用 bcp 将 varbinary 导出到平面文件 (csv)。 好像可以,但是0x前面是个奇怪的enconding,我没办法去掉。有人可以解释我做错了什么吗?按照我执行的 bcp 命令和记事本++的屏幕截图

PS C:\Windows\system32> bcp "SELECT TOP 5 CONVERT(varchar(max), [Bild],1) AS SomeImageFieldAsHex FROM [SWTA_HH].[dbo].[Fenster]" queryout "c:\export.csv" -d "SWTA_HH" -T -n -r \n

谢谢大流士

根据 bcp Utility documentation, the -n switch 指示 BCP 以“本机”格式输出数据,其中包括二进制信息以允许接收 SQL 服务器使用正确的数据类型再次摄取数据。

如果您想要将这些 varbinary 值输出到 .CSV(逗号分隔值)文件,那么您可能想要使用 -c switch 来代替字符数据,例如:

bcp "SELECT TOP 5 CONVERT(varchar(max), [Bild], 1) AS SomeImageFieldAsHex FROM [SWTA_HH].[dbo].[Fenster]" queryout "c:\export.csv" -d "SWTA_HH" -T -c -r \n