SQL拆分下划线分隔字段完成查询后如何更新现有info_t表?
拆分下划线分隔字段并更新表操作步骤
前提准备
确保你的info_t表已创建用于存储拆分结果的列,如果尚未创建,先执行加列语句:
ALTER TABLE info_t ADD nationality_2 VARCHAR(100) NULL, -- 字段长度可根据实际业务调整 nationality_3 VARCHAR(100) NULL;
执行更新操作
直接使用UPDATE结合你的拆分逻辑完成同表更新,无需额外生成NEWID做关联:
UPDATE t SET -- 若需保留nationality_1的原始下划线分隔值,请注释/删除下面这行 nationality_1 = REVERSE(PARSENAME(REPLACE(REVERSE(nationality_1), '_', '.'), 1)), nationality_2 = REVERSE(PARSENAME(REPLACE(REVERSE(nationality_1), '_', '.'), 2)), nationality_3 = REVERSE(PARSENAME(REPLACE(REVERSE(nationality_1), '_', '.'), 3)) FROM info_t t;
注意事项
- 上述语法仅适用于SQL Server数据库,
PARSENAME为SQL Server专属函数 PARSENAME最多支持拆分4段内容,若你的字段下划线分隔段数超过3,该方案不适用- 更新操作前建议先执行SELECT语句验证拆分结果是否符合预期,或提前备份表数据,避免原始数据丢失
内容的提问来源于stack exchange,提问作者DevLeb2022
相关产品推荐
相关产品推荐

