Функция UPPER в Oracle SQL

Функция UPPER в Oracle SQL

Функция имеет входное и выходное значение. Входное значение функции называется аргументом. Ноль или более аргументов может быть передано на вход функции в качестве данных для обработки. В данном примере a, b, c являются входными аргументами функции F:

F( a, b, c, …) = результат.

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

F1 (a, b, F2 (x, y), d),

где F2,

принимает два входных параметра x и y, и образует третий из четырех параметров функции F1. Функции могут работать со всеми доступными типами данных. Наиболее часто используемыми являются символьные, дата и числовые данные. В Oracle есть два типа функций: однострочные и многострочные функции. Однострочные функции возвращают результат для каждой строки, а многострочные один результат для множества строк. В данной статье рассматривается однострочная функция – UPPER. Существует несколько типов однострочных функций, такие как символьные, числовые, дата, преобразования и общие. Функция 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 *