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

INITCAP

Описание​

Функция INITCAP переводит первую букву каждого слова в строке в верхний регистр, а остальные буквы в нижний регистр. Словом считается последовательность букв и цифр, отделённая от других слов символами, не являющимися буквами или цифрами. Эта функция подходит для форматирования имён, заголовков и других случаев, требующих единообразного оформления регистра.

Синтаксис​

INITCAP(<str>)

Параметры​

ПараметрОписание
<str>Строка, в которой нужно преобразовать регистр. Тип: VARCHAR

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

Возвращает преобразованную строку типа VARCHAR.

Правила преобразования:

  • Первая буква каждого слова переводится в верхний регистр
  • Остальные буквы слова переводятся в нижний регистр
  • Слова разделяются символами, не являющимися буквами или цифрами (пробелами, знаками препинания, специальными символами и т. д.)
  • Регистр цифровых символов не изменяется
  • Поддерживается преобразование регистра символов Unicode

Особые случаи:

  • Если параметр равен NULL, возвращается NULL
  • Если строка пустая, возвращается пустая строка
  • Последовательность символов, не являющихся буквами или цифрами, считается одним разделителем
  • Буквы в начале строки переводятся в верхний регистр

Примеры​

  1. Преобразование первых букв слов в заглавные
SELECT INITCAP('hello world');
+------------------------+
| INITCAP('hello world') |
+------------------------+
| Hello World |
+------------------------+
  1. Преобразование строки со смешанным регистром
SELECT INITCAP('hELLo WoRLD');
+------------------------+
| INITCAP('hELLo WoRLD') |
+------------------------+
| Hello World |
+------------------------+
  1. Обработка значения NULL
SELECT INITCAP(NULL);
+---------------+
| INITCAP(NULL) |
+---------------+
| NULL |
+---------------+
  1. Строка с цифрами и символами
SELECT INITCAP('hello hello.,HELLO123HELlo');
+---------------------------------------+
| INITCAP('hello hello.,HELLO123HELlo') |
+---------------------------------------+
| Hello Hello.,Hello123hello |
+---------------------------------------+