在字符串mysql的末尾替换特定字符

时间:2019-02-22 17:44:52

标签: mysql sql

例如,仅当字符串的结尾字符以D结尾时,才如何用另一个字符替换它?

2 个答案:

答案 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”)替换与正则表达式匹配的部分)。如果该字符串与正则表达式不匹配,则保持不变。