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

REPLACE

Заменяет все вхождения подстроки в строке на другую подстроку.

MySQL 8.4
REPLACE(str, from_str, to_str)
str
Исходная строка
VARCHAR
from_str
Подстрока, которую нужно заменить
VARCHAR
to_str
Подстрока, которая подставляется вместо from_str
VARCHAR

Возвращаемое значение

Строка с заменёнными вхождениями; регистр при поиске учитывается; исходная строка, если from_str пустая

Примеры

Замена слова в строке

MySQL 8.4
SELECT REPLACE('Hello world', 'world', 'SQL');
REPLACE('Hello world', 'world', 'SQL')
Hello SQL

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

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

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

MySQL 8.4
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.

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