Последнее обновление
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 |
+------------------------------+