Функция 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'