You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server迁移脚本:拆分逗号分隔值插入新表的疑问

解决SQL Server批量插入拆分后邮箱地址的问题

你可以直接使用 INSERT INTO ... SELECT 语法,将拆分后的查询结果直接批量插入目标表,不需要单独遍历。你的CROSS APPLY STRING_SPLIT已经正确生成了所有需要插入的行,只需要把查询语句整合到INSERT中即可:

INSERT INTO emailAddresses(emailAddress, companyId)
SELECT 
    TRIM(value) AS emailAddress, -- 处理邮箱前后可能存在的空格
    Id AS companyId
FROM Companies  
CROSS APPLY STRING_SPLIT(Email, ',')
WHERE TRIM(value) <> '' -- 过滤掉空的邮箱(比如原字段末尾有逗号的情况)

关键说明:

  • INSERT INTO ... SELECT 是SQL Server中批量插入查询结果的标准方式,会自动遍历SELECT返回的所有行并完成插入
  • 用TRIM(value)能避免拆分后邮箱带前后空格的问题,保证数据格式整洁
  • 添加WHERE TRIM(value) <> ''可以过滤掉拆分后产生的空字符串(比如原Email字段是,a@test.com或者a@test.com,这类情况)

内容的提问来源于stack exchange,提问作者f_olivere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 05:41:56