方案一 用Update和Replace
--替换语句(因为varchar(max)最大值是8000,所以大于8000的部分会被截掉) UPDATE dbo.SNS_UserBlog SET [Description]=REPLACE(CAST([Description] AS VARCHAR(max)),'sx','') WHERE BlogID=142
这个方案有一定局限性那就是字段的长度不能超过8000。
方案二 UPDATETEXT 方法
--更新语句 DECLARE @ptrval BINARY(16) SELECT @ptrval=TEXTPTR([Description]) FROM SNS_UserBlog WHERE BlogID=142 IF @ptrval IS NOT NULL UPDATETEXT SNS_UserBlog.[Description] @ptrval NULL NULL 'hellotheword sx' --替换语句(因为varchar(max)最大值是8000,所以大于8000的部分会被截掉) UPDATE dbo.SNS_UserBlog SET [Description]=REPLACE(CAST([Description] AS VARCHAR(max)),'sx','') WHERE BlogID=142
方案三 UPDATETEXT参数拓展方法
--替换语句 DECLARE @ptr binary(16)--文本指针 DECLARE @oldstr VARCHAR(400) declare @dl INT--需要替换的字符串的长度 DECLARE @val VARCHAR(400)--替换后的新字符串 DECLARE @index INT --要插入的 开始位置 set @oldstr = 'sx'--需要替换的字符串 set @dl = len(@oldstr)--字符串块长度 SELECT @ptr=TEXTPTR([Description]),@val='',@index=CHARINDEX(@oldstr,[Description])-1 FROM dbo.SNS_UserBlog WHERE BlogID=142--查询条件 UPDATETEXT dbo.SNS_UserBlog.Description @ptr @index @dl @val
如果本文引用了你的文章而未注明,请及时联系我。