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

编写SQL脚本删除数据库表中含12_67.gif的img标签

删除SQL列中指定的img标签

需求:数据库内某nvarchar类型的列存储了HTML文本,需要仅删除所有包含12_67.gif的<img>标签,保留其他内容和标签。

解决方案脚本

假设目标表名为YourTable,存储HTML的列名为HtmlContent,可以用以下SQL脚本实现:

-- 定义匹配包含12_67.gif的img标签的模式
DECLARE @SearchPattern NVARCHAR(100) = '%<img%12_67.gif%>%'
DECLARE @UpdateCount INT = 1

-- 循环处理,直到没有符合条件的标签被删除
WHILE @UpdateCount > 0
BEGIN
    UPDATE YourTable
    SET HtmlContent = STUFF(
        HtmlContent,
        -- 定位第一个符合条件的img标签起始位置
        PATINDEX(@SearchPattern, HtmlContent),
        -- 计算要删除的标签长度(从起始位置到闭合>的长度)
        CHARINDEX('>', HtmlContent, PATINDEX(@SearchPattern, HtmlContent)) - PATINDEX(@SearchPattern, HtmlContent) + 1,
        '' -- 替换为空,即删除该标签
    )
    -- 获取本次更新的行数,判断是否继续循环
    SET @UpdateCount = @@ROWCOUNT
END

脚本说明

  • 用PATINDEX定位第一个包含12_67.gif的img标签的起始位置
  • 用CHARINDEX找到该标签的闭合>位置,计算出整个标签的长度
  • 通过STUFF函数将这段标签内容替换为空,实现删除
  • 循环执行直到没有符合条件的标签被更新(@@ROWCOUNT为0),确保所有匹配的标签都被处理

执行后,原文本中两个包含12_67.gif的img标签会被移除,其他内容保持不变,符合预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 04:48:15