我在一列中有如下字符串值:
|333|,|331|
我想执行如下平衡字符串替换:
xxTM_333_TMxx,xxTM_331_TMxx
我试图用REPLACE
and来做到这一点CONCAT
函数来做到这一点,但没有得到想要的输出。
例如:
SELECT REPLACE('|333|,|331|','|','xxTM');
这取代了其中一个|
符号,但不是其匹配(平衡)的对应物。
如何在 MySQL 中实现此结果?
我在一列中有如下字符串值:
|333|,|331|
我想执行如下平衡字符串替换:
xxTM_333_TMxx,xxTM_331_TMxx
我试图用REPLACE
and来做到这一点CONCAT
函数来做到这一点,但没有得到想要的输出。
例如:
SELECT REPLACE('|333|,|331|','|','xxTM');
这取代了其中一个|
符号,但不是其匹配(平衡)的对应物。
如何在 MySQL 中实现此结果?
SET @st := '|333|,|331|';
SELECT
CASE WHEN @st LIKE '|%|' THEN
CONCAT(
'xxTM',
REPLACE(REPLACE(@st, '|,|', '_TMxx,xxTM_'), '|', '_'),
'TMxx')
END rep_st;
请在此处查看小提琴。