Функция INITCAP в Oracle SQL

Функция INITCAP в Oracle SQL

В посте рассматривается однострочная функция INITCAP, относящаяся к функциям по работе с символьными данными.

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

К функциям преобразования регистра символов относятся: LOWER, UPPER и INITCAP. Они могут быть использованы во многих частях блока SQL, например, в блоке select, where и т.п.

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

Примеры применения функции INITCAP:

Пример 1. В примере функция INITCAP переводит первые буквы каждого электронного адреса сотрудника в заглавные буквы, а остальные буквы в строчные.

SELECT last_name, first_name, email origin_email, INITCAP (email) changed_email
FROM employees

Пример 2. В таблице employees значения столбца email введены заглавными буквами. Если выполняется поиск сотрудников по email с указанием электронного адреса сотрудника с первой заглавной буквой и остальные строчные, то запрос не возвращает ни одной строки (см. ниже первый sql запрос). Функция INITCAP предоставляет возможность выполнять поиск сотрудников  по электронному адресу в вышеуказанном формате (см. ниже второй sql запрос). В примере знак слэш ( / ) между двумя sql запросами позволяет выполнять их последовательно.

SELECT first_name, last_name, email 
FROM employees 
WHERE email ='Sking'
SELECT first_name, last_name, email 
FROM employees 
WHERE INITCAP(email) = 'Sking'

Пример 3. Предполагается, что в таблице TEST есть следующий набор данных (2 строки):

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

Пример 4. Предполагается, что в таблице TEST есть набор данных (4 строки). Каждая строка символом состоит из четырех слов (строчные буквы) разделенные с помощью символов пробела, подчеркивания, восклицания, процента и доллара:

SQL запрос показывает, что функция INITCAP учитывает перечисленные символы разделителей слов и первые буквы каждого слова идущие за этими символами преобразовывает в их заглавные эквиваленты:

Leave a Reply

Your email address will not be published. Required fields are marked *