将Null整数数据从SQL Server 2005导出到文件

时间:2014-09-14 09:54:41

标签: sql-server-2005

当我使用SQL Server 2005导入导出向导中的查询将记录导出到逗号分隔文件时,具有NULL值的整数数据类型列将导出为,,,即null将被替换没有字符,而我希望输出为,NULL,

我该怎么做?

2 个答案:

答案 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