08-09
04

SQL语句“帖:”字样

例如表article
字段:id title ...

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

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

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

...

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

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


select left(title,charindex('贴:',title)-1)from article
首先该语句会在表article总找到title中首先出现“贴:”的匹配位置,然后用left行集函数去掉相应的长度!嘿嘿!没问题的!



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))


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

经过实测


Update article
SET title= RIGHT(title, len(title)-PATINDEX('%:%', title))
回答者: shangshanai - 门吏 三级  9-4 14:05
如果你使用的是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)-chrindex('贴:',title)-2)


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

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


[本日志由 blurxx 于 2008-09-04 04:58 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: SQL
相关日志:
评论: 0 | 引用: 0 | 查看次数: 552
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭