IF OBJECT_ID('tb') IS NOT NULL
DROP TABLE tb
GO
CREATE TABLE tb(id INT IDENTITY(1,1), v NTEXT)
GO
INSERT tb SELECT 'aa'
UNION ALL SELECT 'afsdf售后'
UNION ALL SELECT 'afsdf售后asdf'
GO
DECLARE @i INT,@m iNT,@pt BINARY(16),@po INT
SELECT @i=1,@m=0
WHILE @m IS NOT NULL
BEGIN
SELECT TOP 1 @m=id ,@pt=TEXTPTR(v),@po=PATINDEX('%售后%',v)-1 FROM tb WHERE patIndex('%售后%',v)>0 AND id>@m
IF @@rowcount = 0 SET @m=NULL
ELSE
UPDATETEXT tb.v @pt @po 2 ''
END
SELECT * FROM tb
GO
行中包含多个售后,那么循环再处理.
本文介绍了一个SQL脚本实例,展示了如何创建表、插入数据及通过PATINDEX和UPDATETEXT进行文本更新的具体步骤。此过程涉及T-SQL语法的运用,包括条件判断和循环处理。

被折叠的 条评论
为什么被折叠?



