我正在使用
从固定宽度的文本文件中进行批量插入INSERT INTO blah
SELECT blah1, blah2
FROM OPENROWSET(BULK 'filename.txt', FORMATFILE='format.xml');
它工作正常,除了我想要文件中的空(所有空格)字段的NULL。对于在格式文件中标记为SQLINT,SQLDATETIME等的字段,这没有问题,但SQLNVARCHAR类型只是以空字符串形式出现。
我认为这确实有意义,但我怎么能让它导入NULL呢?
答案 0 :(得分:0)
我总是导入到临时表并进行必要的清理,然后插入生产表。
答案 1 :(得分:0)
使用CASE声明
SELECT CASE
WHEN RTRIM(blah2) = '' THEN NULL
ELSE blah2
END