Функция INITCAP в Oracle SQL

Функция INITCAP в Oracle SQL

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

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

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

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

где F2,

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

Функции по работе с символьными данными – 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'

Leave a Reply

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