Преобразование регистра букв

В PostgreSQL есть три функции для изменения регистра символов строки:

  • lower - преобразование символов в нижний регистр;
  • upper - преобразование символов в верхний регистр;
  • initcap - преобразование первого символа каждого слова в верхний регистр, а остальных в нижний.
SELECT lower('Мама мыла РАМУ')
# lower
1 мама мыла раму
SELECT upper('Мама мыла РАМУ')
# upper
1 МАМА МЫЛА РАМУ
SELECT initcap('Мама мыла РАМУ')
# initcap
1 Мама Мыла Раму

С lower и upper все предельно просто. Давай еще поразбираемся с initcap. Словами в initcap считаются последовательности алфавитно-цифровых символов, разделённые любыми другими символами. Слова начинаются с буквы.

Выполним еще несколько запросов:

SELECT initcap('Раз, два, три')
# initcap
1 Раз, Два, Три

Разделим слова другими символами

SELECT initcap('Раз-два#три')
# initcap
1 Раз-Два#Три

А если использовать цифры?

SELECT initcap('1раз два3три')
# initcap
1 1Раз Два3три

Слово должно начинаться с буквы.

7.1 CONCAT - конкатенация строк

7.3 LENGTH - определение длины строки