REPLACE
Заменяет все вхождения подстроки в строке на другую подстроку.
MySQL 8.1
REPLACE(str, from_str, to_str)Параметры
- strVARCHAR
- Исходная строка
- from_strVARCHAR
- Подстрока, которую нужно заменить
- to_strVARCHAR
- Подстрока, которая подставляется вместо from_str
Возвращаемое значение
Строка с заменёнными вхождениями; регистр при поиске учитывается; исходная строка, если from_str пустая
Примеры
Замена слова в строке
MySQL 8.1
SELECT REPLACE('Hello world', 'world', 'SQL');Замена с учётом регистра
MySQL 8.1
SELECT REPLACE('SQL sql Sql', 'sql', 'X');Сокращение фамилии в именах
MySQL 8.1
SELECT member_name,
REPLACE(member_name, 'Quincey', 'Q.') AS short_name
FROM FamilyMembers;Подробности
Регистр учитывается всегда, даже если обычное сравнение строк в базе его не учитывает. Поиск идёт слева направо без повторного просмотра уже заменённого: REPLACE('aaa', 'aa', 'b') вернёт ba. Для замены по шаблону используйте REGEXP_REPLACE.