当我使用SQL Server 2005导入导出向导中的查询将记录导出到逗号分隔文件时,具有NULL
值的整数数据类型列将导出为,,
,即null将被替换没有字符,而我希望输出为,NULL,
。
我该怎么做?
答案 0 :(得分:3)
使用bcp工具。它可以导出查询结果。使用本机格式并使用相同的bcp工具导入目标数据。
除了其他优点(速度,最小日志记录,正确的代码页和unicode处理,批处理等等)之外,您还将在此过程中获得正确的NULL处理。 bcp允许对NULL进行微调控制,请参阅Keep Nulls or Use Default Values During Bulk Import (SQL Server)。
如果您坚持使用csv文件,那么基本无法表示NULL,请参阅BCP and NULL Values:
在字符模式BCP中表示NULL的唯一非模糊方法是在字符分隔文件中使用两个相邻的分隔符。通过几种技术可以操纵源文件以实现这种状态。或者,如果目标SQL列中的0或空格对特定数据库没有有效含义,则可以通过BCP之后的批量UPDATE语句将其更改为NULL。
答案 1 :(得分:0)
Null表示没有值,但是您希望字符串值为' NULL'要出口。也许您应该在查询中使用CASE语句将字符串替换为空值:
case
when yourColumn is null then 'NULL'
else cast(yourColumn as varchar(100))
end as IntegerColumn