Функция LOWER в Oracle SQL

Функция LOWER в Oracle SQL

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

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

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

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

где F2,

принимает два входных параметра x и y, и образует третий из четырех параметров функции F1. Функции могут работать со всеми доступными типами данных. Наиболее часто используемыми являются символьные, дата и числовые данные. В Oracle есть два типа функций: однострочные и многострочные функции. Однострочные функции возвращают результат для каждой строки, а многострочные один результат для множества строк. В данной статье рассматривается однострочная функция – LOWER. Другие однострочные и многострочные функции будут рассмотрены в последующих статьях. Существует несколько типов однострочных функций, такие как символьные, числовые, дата, преобразования и общие. Функция LOWER относится к функции по работе с символьными данными.

Функции по работе с символьными данными – LOWER

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

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

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

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

Пример 1. Функция LOWER переводит в строчные буквы имена всех сотрудников из колонки first_name таблицы employees.

SELECT first_name origin_first_name, LOWER(first_name) changed_first_name
FROM employees

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

SELECT first_name, last_name, email 
FROM employees  
WHERE email ='sking'

SELECT first_name, last_name, email 
FROM employees 
WHERE LOWER(email) ='sking'

Leave a Reply

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