Основы программирования в СУБД Oracle. SQL+PL/SQL. - страница 27

Шрифт
Интервал


– функции преобразования регистра;

– функции обработки строк.


Таблица 3.2. Функции преобразования регистра



Пример 3.10. Вывести название товара, используя различные функции преобразования регистра


SELECT

UPPER (Product_name) As UPPER,

LOWER (Product_name) As LOWER,

INITCAP (Product_name) As INITCAP

FROM Products

WHERE product_id = 50;



Довольно часто столбец, имеющий символьный тип, содержит значения в различных регистрах. Например, столбец first_name может содержать как значение DAVID, так и значение David. В этом случае запрос, содержащий условие выбора: first_name = ′DAVID′ или first_name = ′David′ выведет только часть необходимых данных. Эту проблему можно решить, используя функции преобразования регистра.


Пример 3.11. Вывести данные о сотрудниках, у которых столбец first_name имеет значение DAVID, или David, или david


SELECT employee_id, first_name, last_name, department_id, salary

FROM Employees

WHERE UPPER (first_name) = ′DAVID′;



Таблица 3.3. Функции обработки строк



Примеры использования функций обработки строк


Функции LPAD () и RPAD () можно использовать для отображения результата выполнения запроса в виде, который более удобен для восприятия.


Пример 3.12. Вывод данных о зарплате сотрудников без использования функций LPAD () и RPAD ()


SELECT first_name||′ ′||last_name || ′ has a monthly salary of ′

|| salary || ′ dollars. ′ AS Pay

FROM Employees;



Пример 3.13. Вывод данных о зарплате сотрудников c использованием функций LPAD () и RPAD ()


SELECT RPAD (first_name||′ ′||last_name,25)

|| ′ has a monthly salary of ′

|| LPAD (salary,6) || ′ dollars.» AS Pay

FROM Employees;



Рассмотрим более подробно функцию INSTR, которая часто используется при работе с символьными данными.

Функция INSTR возвращает номер позиции в строке str, начиная с которой строка search_str входит в строку str. Если вхождений не найдено, то функция возвращает значение 0. Синтаксис:


INSTR (str, search_str [, n [, m]])


– str – исходная строка;

– search_str – строка поиска;

– n – начало поиска, определяет начальную позицию, с которой следует начинать поиск;

– m – вхождение, определяет номер вхождения, который следует возвратить.


Пример 3.14. Использование функции INSTR для нахождения позиции первого пробела в названии товара


SELECT product_name, INSTR (product_name, ′ ′)

FROM Products;