固定宽度文件中的SQL Server批量插入 - 如何为字符串获取NULL?

时间:2010-08-11 18:26:02

标签: sql-server null bulkinsert

我正在使用

从固定宽度的文本文件中进行批量插入
INSERT INTO blah
SELECT blah1, blah2 
  FROM OPENROWSET(BULK 'filename.txt', FORMATFILE='format.xml');

它工作正常,除了我想要文件中的空(所有空格)字段的NULL。对于在格式文件中标记为SQLINT,SQLDATETIME等的字段,这没有问题,但SQLNVARCHAR类型只是以空字符串形式出现。

我认为这确实有意义,但我怎么能让它导入NULL呢?

2 个答案:

答案 0 :(得分:0)

我总是导入到临时表并进行必要的清理,然后插入生产表。

答案 1 :(得分:0)

使用CASE声明

SELECT CASE
           WHEN RTRIM(blah2) = '' THEN NULL
                                  ELSE blah2
       END