您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用BULK INSERT在SQL Server上插入一个空字符串

使用BULK INSERT在SQL Server上插入一个空字符串

据我所知,批量插入不能插入空字符串,它可以保留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 | ''
SQLServer 2022/1/1 18:53:04 有349人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶