Последнее обновление
APPEND_TRAILING_CHAR_IF_ABSENT
Описание
Функция APPEND_TRAILING_CHAR_IF_ABSENT гарантирует, что строка заканчивается указанным символом. Если этот символ отсутствует в конце строки, он добавляется; если уже присутствует, строка остаётся без изменений.
Синтаксис
APPEND_TRAILING_CHAR_IF_ABSENT(<str>, <trailing_char>)
Параметры
| Параметр | Описание |
|---|---|
<str> | Строка для обработки. Тип: VARCHAR |
<trailing_char> | Символ, который должен находиться в конце строки. Тип: VARCHAR |
Возвращаемое значение
Возвращает значение типа VARCHAR:
- Если
<trailing_char>отсутствует в конце<str>, возвращает результат конкатенации<str>и<trailing_char> - Если
<trailing_char>уже присутствует в конце<str>, возвращает исходную строку<str>
Особые случаи:
- Если какой-либо аргумент равен NULL, возвращает NULL
- Если
<str>— пустая строка, возвращает<trailing_char>
Примеры
- Базовое использование: добавление отсутствующего символа
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('a', 'c');
+------------------------------------------+
| append_trailing_char_if_absent('a', 'c') |
+------------------------------------------+
| ac |
+------------------------------------------+
- Символ уже присутствует и не добавляется
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('ac', 'c');
+-------------------------------------------+
| append_trailing_char_if_absent('ac', 'c') |
+-------------------------------------------+
| ac |
+-------------------------------------------+
- Обработка пустой строки
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('', '/');
+------------------------------------------+
| append_trailing_char_if_absent('', '/') |
+------------------------------------------+
| / |
+------------------------------------------+
- Обработка значения NULL
SELECT APPEND_TRAILING_CHAR_IF_ABSENT(NULL, 'c');
+-------------------------------------------+
| append_trailing_char_if_absent(NULL, 'c') |
+-------------------------------------------+
| NULL |
+-------------------------------------------+
- Символ UTF-8
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('acf', 'ṛ');
+----------------------------------------------+
| APPEND_TRAILING_CHAR_IF_ABSENT('acf', 'ṛ') |
+----------------------------------------------+
| acfṛ |
+----------------------------------------------+