求mysql的字符串替换

shuai45 2013-07-23 12:57:43
表:table
字段:name
72,172,51725,72,90

将字段Name中的字符串,有72的替换掉。(只替换掉72的),结果为:
172,51725,90

给个思路思路也好,不知道MYSQL能否实现
...全文
165 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2013-07-23
  • 打赏
  • 举报
回复
建立LSB1,字段ID,内容1-10000 SELECT GROUP_CONCAT(ss) FROM ( SELECT *,SUBSTRING_INDEX( SUBSTRING_INDEX(a1.SUBJECT,',',b.id),',',-1) AS ss FROM (SELECT '72,172,51725,72,72,72,90' AS SUBJECT) a1 LEFT JOIN zz.lsb1 b ON (LENGTH(a1.SUBJECT)-LENGTH(REPLACE(a1.SUBJECT,',','')))+1>=b.id) aa WHERE ss<>'72' ;
shuai45 2013-07-23
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
update table set name=replace(concat(',',name,','),',72,',',')
当字段中有72,172,51725,72,72,72,90,类似这样重复的数据时, 按照您的方式处理后,还会有72的数据,这个如何搞呢
xiaoxiaqq2013 2013-07-23
  • 打赏
  • 举报
回复
update table set name=replace(concat(',',name,','),',72,',',') 这种
wwwwb 2013-07-23
  • 打赏
  • 举报
回复
示例: SET @a=',72,172,72,51725,72,90,72,'; SET @b=REPLACE(RTRIM(LTRIM(REPLACE(@a,',72,',' '))),' ',','); SET @c=IF(RIGHT(@b,1)=',',LEFT(@b,LENGTH(@b)-1),@b); SELECT @c;
ACMAIN_CHM 2013-07-23
  • 打赏
  • 举报
回复
思路如上,然后可以添加对第一个,最后一个逗号的处理。
ACMAIN_CHM 2013-07-23
  • 打赏
  • 举报
回复
update table set name=replace(concat(',',name,','),',72,',',')

56,912

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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