例如,仅当字符串的结尾字符以D结尾时,才如何用另一个字符替换它?
答案 0 :(得分:1)
假设您希望将最后一个字符补全到X,最后一个字符='D'
select concat(LEFT(your_col, LENGTH(left) -1), 'X' )
FROM Your_table
WHERE RIGHT(your_col, 1) = 'D';
或为避免spencer7593建议的多字节长度问题
select concat(LEFT(your_col, CHAR_LENGTH(left) -1), 'X' )
FROM Your_table
WHERE RIGHT(your_col, 1) = 'D';
答案 1 :(得分:0)
如果您使用的是MySQL 8.0,只需使用REGEXP_REPLACE。
SELECT REGEXP_REPLACE(my_column, 'D$', 'X')
FROM my_table
如果函数遇到与正则表达式不匹配的值(“ D $”表示字符串末尾的“ D”),它将使用给定值(此处为“ X”)替换与正则表达式匹配的部分)。如果该字符串与正则表达式不匹配,则保持不变。