SQL语句(mysql)怎么去掉字段内一部分内容

yf829 2010-08-06 11:27:39
“阳光 沙滩 晚风 夕阳 呵呵呵炒股不是全部 好想去海边吹吹风…<br/><a href=" http://From3ebd325c7bf6cb35dced7c5f06f4/HQ/HQ.DLL?t=stock;StkCode=300053;X=Rand3ebd325c7”是数据表里面一个字段的内容,
我要用sql语句去掉<br/>(连同<br/>在内)后面的内容要怎么写SQL更新语句?

...全文
897 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dleno 2010-08-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xuzuning 的回复:]

update 表 set 字段名 = left(字段名, LOCATE('<br/>', 字段名)-1) where 字段名 like '%<br/>%'
[/Quote]
还是老大的简洁
Dleno 2010-08-06
  • 打赏
  • 举报
回复
充分利用mysql自带的函数,还是可以实现这个功能的

update tablename set `字段名`=REPLACE(`字段名`,SUBSTRING(`字段名`,INSTR(`字段名`,'<br/>')),'') where `字段名` REGEXP '\<br\/\>.*$'
xuzuning 2010-08-06
  • 打赏
  • 举报
回复
update 表 set 字段名 = left(字段名, LOCATE('<br/>', 字段名)-1) where 字段名 like '%<br/>%'
床上等您 2010-08-06
  • 打赏
  • 举报
回复
mysql 可以正则查找,不可以替换吧??
无笔秀才 2010-08-06
  • 打赏
  • 举报
回复
REPLACE 这样只能替换 掉<br/>,但是, <br/>后面的还是存在。
建议写个存储过程,先查出这个字段。然后用 POSITION 找到<br/>的位置,截取一下,再update回去。可能是个本办法 呵呵。。
或者像2楼说的 再Php里处理更好。
Dleno 2010-08-06
  • 打赏
  • 举报
回复
update tablename set 字段名=REPLACE(字段名,SUBSTRING(字段名,INSTR(字段名,'<br/>')),'') where 字段名 REGEXP '\<br\/\>.*$'
语句就是这样吧,前面的少了个括号,REGEXP '\<br\/\>.*$'的正则写对没有就不知道了,有问题都是正则的问题了,没测试的
Dleno 2010-08-06
  • 打赏
  • 举报
回复
仔细查了文档,找到如下方式,不过效率怎么样就不知道了

字段名=REPLACE(字段名,SUBSTRING(字段名,INSTR(字段名,'<br/>'),'')
CunningBoy 2010-08-06
  • 打赏
  • 举报
回复
sql查询出来用php替换吧
sql语句的话可能要用存储过程
Dleno 2010-08-06
  • 打赏
  • 举报
回复
mysql不支持正则替换。

你只有利用正则
select 要替换的字段 from tablename 要替换的字段 REGEXP '\<br\/\>.*$'//语句对不对没测试过的。

来查询出符合条件的记录。
然后循环的在程序里来将要替换的字段的内容替换掉,再更新数据

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧