sql的一个问题,在线等办法啊

来源:百度知道 编辑:UC知道 时间:2024/05/08 08:09:56
已经根据条件查询出了需要改的地方
SELECT *
FROM www
WHERE (qqqqq LIKE '%555555%') 现在想把这个条件查询出的所有行中的字段qqqqq中的部分内容ppp替换成oooo (是qqqqq中的部分内容,假设完整内容是ppppbbbggg) 请问我改怎么写句子?
(是qqqqq中的部分内容,假设完整内容是ppppbbbggg555555)

declare AAA cursor for
SELECT id,qqqqq --主码,字段
FROM www
WHERE qqqqq LIKE '%555555%'
open AAA
declare @id char(10),@qq char(10)
declare @a int
fetch from AAA into @id,@qq
while @@fetch_status=0
begin
select @a=CHARINDEX('p',@qq,1) --查询第一次出现p的位置,也可以是其它的位置
update www
SET A=stuff(@qq, @a,3,'oooo') --用'oooo'替换第一次出现p后的3个字符,可以是其它的个数
where id=@id
fetch from AAA into @id,@qq
end
close AAA
deallocate AAA

遍历整个数据集
然后使用replace替换内容

Dim temp
Set pRs = Server.CreateObject("ADODB.Recordset")
pRs.Open "SELECT * FROM www WHERE (qqqqq LIKE '%555555%')",Conn,3,3
while (not(pRs.eof or pRs.bof))
temp=pRs("qqqqq") '取得需要修改的内容
temp=replace(temp,"ppp","oooo") '将temp中ppp替换为oooo
'这里还可以添加其他的替换操作
'temp=replace(temp,"qqq","iiii")