Mysql替换不是所有的字符串?

时间:2016-06-10 09:00:12

标签: mysql

我有column(pro_doc)字符串[1,2,11,]

UPDATE product SET prod_doc = REPLACE(prod_doc, '1,' , '') WHERE prod_id = 2

结果为2,1

我想成为2,11

我只想要先替换1,而不是全部替换1

有解决方案吗?

非常感谢...

1 个答案:

答案 0 :(得分:0)

使用 SUBSTRING_INDEX
查找,的总发生次数,并将其作为SUBSTRING_INDEX函数的最后一个参数。

UPDATE product
SET prod_doc = 
  SUBSTRING_INDEX(
   prod_doc, ',', -(
     ROUND(
       (
         LENGTH(prod_doc) - LENGTH(REPLACE(prod_doc, ',', ''))
      ) / LENGTH(','))
   )
)
WHERE prod_id = 2;

SQL Fiddle Demo