[英]mysql update REPLACE with concat
我的表保存了相同的ID:123,9901,888,99
我需要在此字段中更改一些ID
我使用我的sql:讓9901更改為2001
UPDATE `TALBE_` SET id_group = REPLACE (id_group, '9901', '2001');
那是工作
但是,我將99更改為100
UPDATE `TALBE_` SET id_group = REPLACE (id_group, '99', '100');
我的SQL Fidle已更改為
123,10001,888,100
如何只更改99-> 100,不更改9901?
我需要使用concat嗎?
但是我測試一段時間仍然不能做到這一點
您可以使用例如
UPDATE `TALBE_` SET id_group =
trim(',' from REPLACE(concat(',', id_group, ','), ',99,', ',100,'));
她的版本號尋求替換
您必須插入2次搜索值
SELECT CONCAT_WS (',',
SUBSTRING_INDEX(id_group, ',', FIND_IN_SET('888',id_group)-1)
,'100',
SUBSTRING_INDEX(id_group, ',', --1* (LENGTH(REGEXP_REPLACE(id_group,'[0-9]','')) -(FIND_IN_SET('888',id_group)-1)))
);
樣品
MariaDB [(none)]> SELECT CONCAT_WS (',',
-> SUBSTRING_INDEX('123,9901,888,99', ',', FIND_IN_SET('888','123,9901,888,99')-1)
-> ,'100',
-> SUBSTRING_INDEX('123,9901,888,99', ',', --1* (LENGTH(REGEXP_REPLACE('123,9901,888,99','[0-9]','')) -(FIND_IN_SET('888','123,9901,888,99')-1)))
-> );
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CONCAT_WS (',',
SUBSTRING_INDEX('123,9901,888,99', ',', FIND_IN_SET('888','123,9901,888,99')-1)
,'100',
SUBSTRING_INDEX('123,9901,888,99', ',', --1* (LENGTH(REGEXP_REPLACE('123,9901,888,99','[0-9]','')) -(FIND_IN_SET('888','123,9901,888,9 |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 123,9901,100,123 |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
MariaDB [(none)]>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.