Справочник по функциям

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');
REPLACE('Hello world', 'world', 'SQL')
Hello SQL

Замена с учётом регистра

MySQL 8.1
SELECT REPLACE('SQL sql Sql', 'sql', 'X');
REPLACE('SQL sql Sql', 'sql', 'X')
SQL X Sql

Сокращение фамилии в именах

MySQL 8.1
SELECT member_name,
	REPLACE(member_name, 'Quincey', 'Q.') AS short_name
FROM FamilyMembers;
member_nameshort_name
Headley QuinceyHeadley Q.
Flavia QuinceyFlavia Q.
Andie QuinceyAndie Q.
Lela QuinceyLela Q.
Annie QuinceyAnnie Q.
Ernest ForrestErnest Forrest
Constance ForrestConstance Forrest
Wednesday AddamsWednesday Addams

Подробности

Регистр учитывается всегда, даже если обычное сравнение строк в базе его не учитывает. Поиск идёт слева направо без повторного просмотра уже заменённого: REPLACE('aaa', 'aa', 'b') вернёт ba. Для замены по шаблону используйте REGEXP_REPLACE.

Смотрите также