如何像正则表达式一样替换MysQL字段的所有值

时间:2015-11-19 04:52:46

标签: mysql

我想在mysql字段中添加一些值(请注意我不想追加)。例如,我的数据如下:

+------------+---------------+
|    col1    |    value      |
+------------+---------------+
| DCM4CHEE01 | "aaaa","bbbb" | 
| DCM4CHEE01 | "xxxx","yyyy" | 
+------------+---------------+

我想将一个字符串添加到值字段(不附加),如:

+------------+-------------------+
|    col1    |       value       |
+------------+-------------------+
| DCM4CHEE01 | "aaaa","bbbb-mgr" | 
| DCM4CHEE01 | "xxxx","yyyy-mgr" | 
+------------+-------------------+

我想用 -mgr“替换的最后一次出现。如何通过运行单个mysql查询来实现此目的?

2 个答案:

答案 0 :(得分:0)

使用INSERT

INSERT('"aaaa","bbbb"', length('"aaaa","bbbb"'), 5, '-mgr"')

答案 1 :(得分:0)

您可以尝试这样:

select concat(left('"aaaa","bbbb"',length('"aaaa","bbbb"') -1),'-mgr"')

<强> DEMO

我知道它没有使用Replace,但我认为这是实现你所要求的更好的方法。如果要更新所有列,则它将类似于

UPDATE mytable
SET value =concat(left(value ,length(value) -1),'-mgr"')