批量插入 - 如何告诉SQLServer插入空字符串而不是null

时间:2017-02-16 13:01:56

标签: sql sql-server bulkinsert

这似乎是一个微不足道的问题。它是。但我现在用Google搜索了一天以上,仍然没有答案:

我希望进行批量插入,对于数据类型为varchar(100)的列,我希望插入一个空字符串。不是Null而是空的。例如表格:

create table temp(columnName varchar(100))

我希望插入一个空字符串作为值:

BULK INSERT sandbox..temp FROM 
'file.txt' WITH ( FIELDTERMINATOR = '|#', ROWTERMINATOR   = '|:' );

文件内容为row1|:row2|:|:|:。所以它包含4行,其中最后两行是空字符串。但它们会以NULL插入。

这个问题与重复标记的问题不同:在一个专栏中,我希望能够插入两个:NULL和空字符串。答案提供的只有其中一个,但不是两个。

1 个答案:

答案 0 :(得分:2)

不要像这样明确地插入空字符串,为什么不让你的表格列的默认值为空字符串,并且在批量插入中不要传递这些列的任何值。像

这样的东西
create table temp(columnName varchar(100) default '')