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

如何将SQL Server中LIKE匹配到的目标字符串作为更新值?

SQL Server UPDATE语句提取并替换字段值

要实现将符合条件的记录中FIELD2字段替换为FIELD里匹配的AAA 四位数字格式字符串,可以结合PATINDEX和SUBSTRING函数完成,具体写法如下:

第一步:先验证提取逻辑(可选但推荐)

先通过SELECT语句确认提取的目标值是否正确:

SELECT 
  FIELD,
  -- 提取匹配到的"AAA 四位数字"子串
  SUBSTRING(FIELD, PATINDEX('%AAA [0-9][0-9][0-9][0-9]%', FIELD), 8) AS TargetValue,
  FIELD2
FROM TABLE
WHERE FIELD LIKE '%AAA [0-9][0-9][0-9][0-9]%'
  AND FIELD2 IN ('VALUE2', 'VALUE3', 'VALUE4')

第二步:执行UPDATE操作

确认提取结果正确后,运行UPDATE语句:

UPDATE TABLE
SET FIELD2 = SUBSTRING(FIELD, PATINDEX('%AAA [0-9][0-9][0-9][0-9]%', FIELD), 8)
WHERE FIELD LIKE '%AAA [0-9][0-9][0-9][0-9]%'
  AND FIELD2 IN ('VALUE2', 'VALUE3', 'VALUE4')

关键逻辑说明

  • PATINDEX('%AAA [0-9][0-9][0-9][0-9]%', FIELD):返回FIELD中第一个匹配AAA 四位数字模式的子串起始位置
  • SUBSTRING(FIELD, 起始位置, 8):从起始位置开始截取8个字符(AAA 占4位,四位数字占4位,合计8位)

注意:如果FIELD中存在多个符合格式的子串,上述语句只会提取第一个出现的匹配项。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 21:12:34