0
我column(pro_doc)
串像[1,2,11,]
Mysql替换不是全部字符串?
UPDATE product SET prod_doc = REPLACE(prod_doc, '1,' , '') WHERE prod_id = 2
结果是2,1
我想成为2,11
,
我只是想更换第一1
,不是所有的1
,
有任何解决方案?
非常感谢......
我column(pro_doc)
串像[1,2,11,]
Mysql替换不是全部字符串?
UPDATE product SET prod_doc = REPLACE(prod_doc, '1,' , '') WHERE prod_id = 2
结果是2,1
我想成为2,11
,
我只是想更换第一1
,不是所有的1
,
有任何解决方案?
非常感谢......
使用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;
看看到:http://stackoverflow.com/questions/12123477/sql-search-replace-but-only-the-first-time-a-value-出现在记录中 – Rumpelstinsk
规范化数据并将每个数字存储在单独的记录中会容易得多。 – Shadow
你的字符串是否包含'['和']'?无论您的输入是正确的还是您的输出。我假设你不是指“前1”,而是“完整的整数值”,对不对?所以如果你替换1,'[21,31]'不会变成'[2,31]''? – Solarflare