mysql数据库 表中有两个字段:id name ides其中ides值可能为:1 也可能为 1,2,3,4,5,6,7,8,9,10,11,12,13,14 ....类似的数字集合 一共有很多条!!!
现在要更新的条件是:将所有数据 ides中的3数据移除,3可能在中间,也可能是第一个,最后一个,也可能一个字段就一个3
用一条sql语句如何实现?谢谢!如上语句移除后 ides应为 1,2,4,5,6...

解决方案 »

  1.   

    UPDATE TT SET F1=
    REPLACE(CONCAT(',',F1,','),',3,',',')
      

  2.   

    因为要准确匹配,故前后要加,
    UPDATE TT SET F1= 
    MID(REPLACE(CONCAT(',',F1,','),',3,',','),2,
    LENGTH(REPLACE(CONCAT(',',F1,','),',3,',',')-2))
      

  3.   

    前两天有人问过了。set @x='1,2,3,4,5,6'                                                  
    select substring(replace(concat(',',@x,','),',1,',',9,'),2,length(@x))
      

  4.   

    http://topic.csdn.net/u/20100107/13/51fc0239-cce3-47bd-99ca-c98b104e1192.html?95385
      

  5.   

    跟那个帖子有点不一样,关键是第一个和最后一个是3的情况,还有只有一个3的情况,3楼的sql可以,就是感觉太冗长了一点,呵呵!不知道有没有更加简洁一点的办法。