Функция UPPER в Oracle SQL

Функция UPPER в Oracle SQL

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

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

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

Функция UPPER является логической противоположностью функции LOWER и преобразует строку символов в их заглавные эквиваленты. Она не добавляет лишних символов и не сокращает длину исходной строки. Все строчные буквы преобразуются в их заглавные эквиваленты. Цифры, знаки препинания или специальные символы игнорируются.

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

Пример 1. В данном примере функция UPPER переводит в заглавные буквы имена всех сотрудников колонки first_name таблицы employees.

SELECT first_name origin_first_name, UPPER(first_name) changed_first_name
FROM employees

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

Примечаение: Знак слэш ( / ) между двумя sql запросами (на скриншоте) позволяет выполнять их последовательно.

SELECT first_name, last_name, email 
FROM employees
WHERE last_name ='KING'
SELECT first_name, last_name, email 
FROM employees
WHERE UPPER(last_name) ='KING'

Leave a Reply

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