Перейти к содержимому
Последнее обновление

REPLACE_EMPTY

Описание​

Функция REPLACE_EMPTY используется для замены части символов в строке другими символами. В отличие от функции REPLACE, если old является пустой строкой, строка new вставляется перед каждым символом строки str и в конец строки str.

Эта функция предназначена главным образом для совместимости с Presto и Trino, и её поведение полностью совпадает с поведением функции REPLACE() в Presto и Trino. Поддерживается начиная с версии 2.1.5.

Синтаксис​

REPLACE_EMPTY ( <str>, <old>, <new> )

Параметры​

ПараметрОписание
<str>Строка, в которой нужно выполнить замену.
<old>Подстрока, которую нужно заменить. Если <old> отсутствует в <str>, замена не выполняется. Если <old> является пустой строкой, строка <new> вставляется перед каждым символом строки str.
<new>Новая подстрока для замены <old>.

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

Возвращает новую строку после замены подстроки. Особые случаи:

  • Если какой-либо параметр равен NULL, возвращается NULL.
  • Если <old> является пустой строкой, возвращается строка, в которой строка <new> вставлена перед каждым символом строки <str>.

Примеры​

SELECT replace('hello world', 'world', 'universe');
+---------------------------------------------+
| replace('hello world', 'world', 'universe') |
+---------------------------------------------+
| hello universe |
+---------------------------------------------+
SELECT replace_empty("abc", '', 'xyz');
+---------------------------------+
| replace_empty('abc', '', 'xyz') |
+---------------------------------+
| xyzaxyzbxyzcxyz |
+---------------------------------+
SELECT replace_empty("", "", "xyz");
+------------------------------+
| replace_empty('', '', 'xyz') |
+------------------------------+
| xyz |
+------------------------------+