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

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>

Примеры​

  1. Базовое использование: добавление отсутствующего символа
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('a', 'c');
+------------------------------------------+
| append_trailing_char_if_absent('a', 'c') |
+------------------------------------------+
| ac |
+------------------------------------------+
  1. Символ уже присутствует и не добавляется
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('ac', 'c');
+-------------------------------------------+
| append_trailing_char_if_absent('ac', 'c') |
+-------------------------------------------+
| ac |
+-------------------------------------------+
  1. Обработка пустой строки
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('', '/');
+------------------------------------------+
| append_trailing_char_if_absent('', '/') |
+------------------------------------------+
| / |
+------------------------------------------+
  1. Обработка значения NULL
SELECT APPEND_TRAILING_CHAR_IF_ABSENT(NULL, 'c');
+-------------------------------------------+
| append_trailing_char_if_absent(NULL, 'c') |
+-------------------------------------------+
| NULL |
+-------------------------------------------+
  1. Символ UTF-8
SELECT APPEND_TRAILING_CHAR_IF_ABSENT('acf', 'ṛ');
+----------------------------------------------+
| APPEND_TRAILING_CHAR_IF_ABSENT('acf', 'ṛ') |
+----------------------------------------------+
| acfṛ |
+----------------------------------------------+