Замена конкретного символа в конце строки mysql - PullRequest
0 голосов
/ 22 февраля 2019

Как заменить последний символ строки другим символом, только если он заканчивается, например, буквой D?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Если вы используете MySQL 8.0, просто используйте REGEXP_REPLACE.

SELECT REGEXP_REPLACE(my_column, 'D$', 'X')
FROM my_table 

Если функция встречает значение, которое соответствует регулярному выражению («D $» означает: «D» в конце строки), он заменяет часть, которая соответствует регулярному выражению, с заданным значением (здесь: «X»).Если строка не соответствует регулярному выражению, она остается нетронутой.

0 голосов
/ 22 февраля 2019

при условии, что вы хотите, чтобы chage был последним символом в X, где last char = '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';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...