实战:求一条SQL语句编写

来源:百度知道 编辑:UC知道 时间:2024/05/25 08:12:29
例如表article
字段:id title ...

现在有多条记录:
id:1
title:1234贴:北京欢迎你

id:2
title:3213帖:大海真是蓝

id:3
title:23131贴:黑猫白猫

...

从上面可以看出,虽然标题是变化,但从标题上可以看出,开始都有“xxx贴:”字样,我想使用SQL语句把这些字样全部去除

SQL怎么写?

update table
set title=substring(title,charindex(':',title,1)+1,100)

A 仅仅查询数据显示结果:
select substring(title,charindex('贴:',title)+2,len(title)-charindex('贴:',title)) from article

你是不是只要 贴:后面的东西。。
如果是的话就是这样。
B 更新表内数据:
update article set title=substring(title,charindex('贴:',title)+2,len(title)-charindex('贴:',title))

只作为显示:
SELECT ID,TITLE=SUBSTRING(TITLE,CHARINDEX('贴:',TITLE)+2,LEN(TITLE))

更改原表数据:
UPDATE ARTICLE SET TITLE=SUBSTRING(TITLE,CHARINDEX('贴:',TITLE)+2,LEN(TITLE))

update article
set title=right(title,len(title)-charindex(':',title,1))

经过实测

如果你使用的是oracle的话,以下一条语句应该符合你的要求:
update article t set t.title=substr(t.title,instr(t.title,':')+1);
在PLSQL上试运行OK!

1、只去掉“贴:”:update article set title=replace(title,'贴:','')
2、去掉“贴:”(含)之前的:update article set title=right(title,len(title)