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