据我所知,批量插入不能插入空字符串,它可以保留null值,也可以使用带有keepnulls选项或不带有keepnulls选项的默认值。对于您的3个样本记录,在插入数据库之后,它应类似于:
| id | name
| 1 | NULL
| 1 | ""
| 1 | ''
原因是,批量插入会将您的第一行,第二列的值视为空;对于其他2行,将第二列的值设为非null,并保持原样。
示例如下:
CREATE TABLE BulkInsertTest (id int, name varchar(10) DEFAULT '')
批量将相同的CSV文件插入表格
BULK INSERT Adventure.dbo.BulkInsertTest
FROM '....\test.csv'
WITH
(
FIELDTERMINATOR ='\,',
ROWTERMINATOR ='\n'
)
SELECT * FROM BulkInsertTest
结果将如下所示:(CSV的第一行将获得一个空字符串)
| id | name
| 1 |
| 1 | ""
| 1 | ''