В 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три |
Слово должно начинаться с буквы.