日期:2014-05-19  浏览次数:20603 次

请教一个sql语句!
有一个字段是LONGTXT,我想批量修改里面字符串的内容,但要修改的字符串的位置不固定,例如该字段内容为 "asdflsakllklkskl字符串asdfls字符串afl字符串kkls "要将
里面的 "字符串 "改成 "改后字符串 ".这个update语句如何写啊?

------解决方案--------------------
--try

update tbName
set LONGTXT=replace(LONGTXT, '字符串 ', '改后字符串 ')

------解决方案--------------------
create table t(LONGTXT varchar(100))
insert t select 'asdflsakllklkskl字符串asdfls字符串afl字符串kkls '

update t
set LONGTXT=replace(LONGTXT, '字符串 ', '改后字符串 ')

select * from t

--result
LONGTXT
----------------------------------------------------------------
asdflsakllklkskl改后字符串asdfls改后字符串afl改后字符串kkls

(1 row(s) affected)

------解决方案--------------------
先进行一下类型转化吧,强制转过来就好了
------解决方案--------------------
DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(pr_info)
FROM pub_info pr, publishers p
WHERE p.pub_id = pr.pub_id
AND p.pub_name = 'New Moon Books '
UPDATETEXT pub_info.pr_info @ptrval 88 1 'b '