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

如何在SQL Server中更新字符串中连字符间的部分内容

解决方案

假设你的表名为YourTableName(请替换为实际表名),可以通过SQL Server的字符串函数组合来定位并替换两个连字符之间的内容:

UPDATE YourTableName
SET Supplier = LEFT(Supplier, CHARINDEX('-', Supplier) - 1) + '-testing321-' + RIGHT(Supplier, LEN(Supplier) - CHARINDEX('-', Supplier, CHARINDEX('-', Supplier) + 1))
WHERE Supplier LIKE '%-%-%'; -- 仅更新符合「字符串-字符串-字符串」格式的行,避免误改其他数据

语句逻辑拆解:

  • LEFT(Supplier, CHARINDEX('-', Supplier) - 1):提取第一个连字符前的内容(示例中为test)
  • '-testing321-':替换后的中间固定内容
  • RIGHT(Supplier, LEN(Supplier) - CHARINDEX('-', Supplier, CHARINDEX('-', Supplier) + 1)):定位第二个连字符的位置,提取其之后的内容(示例中为value)
  • WHERE子句:过滤出包含至少两个连字符的行,防止修改不符合目标格式的数据

如果需要动态替换中间内容(而非固定值),只需调整'-testing321-'部分即可,比如结合其他列值或自定义函数生成替换内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:50:29