Оценить:
 Рейтинг: 0

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

Год написания книги
2020
<< 1 ... 3 4 5 6 7 8 9 10 11 ... 24 >>
На страницу:
7 из 24
Настройки чтения
Размер шрифта
Высота строк
Поля

Оператор LIKE используется для работы со строками. Он проверяет, совпадает ли часть строки с заданным шаблоном. Для создания шаблонов в операторе LIKE используются следующие символы:

– символ подчеркивания _ обозначает один символ;

– символ процента % обозначает несколько символов.

Синтаксис:

{имя столбца} LIKE ? шаблон ?

Пример 2.12. Вывод данных о сотрудниках, имена которых начинаются на букву L

SELECT employee_id, first_name, last_name, department_id

FROM Employees

WHERE first_name LIKE ? L% ?;

Пример 2.13. Вывод имен сотрудников, вторым символом которых является буква а

SELECT DISTINCT first_name

FROM Employees

WHERE first_name LIKE ? _a% ?;

Пример 2.14. Вывод имен сотрудников, которые состоят из четырех символов, начинаются на букву J и заканчиваются буквой n

SELECT DISTINCT first_name

FROM Employees

WHERE first_name LIKE ? J__n ?;

Для поиска в строке символов _ и % при построении шаблона используется опция ESCAPE /. Символ, который в шаблоне будет располагаться после /, будет рассматриваться как символ поиска. Вместо символа / можно использовать и другие символы, например!.

Пример 2.15. Вывести имя и адрес клиентов, столбец address которых содержит символ /

SELECT c_name, address

FROM Customers

WHERE address LIKE ? %//% ? ESCAPE ? / ?;

Оператор BETWEEN

Оператор BETWEEN используется для того, чтобы результат запроса содержал только те строки, в которых значение проверяемого столбца находится в заданном диапазоне.

Синтаксис:

{имя столбца} BETWEEN V_MIN AND V_MAX

V_MIN – нижняя граница диапазона;

V_MAX – верхняя граница диапазона

Оператор BETWEEN осуществляет поиск среди всех значений диапазона, включая границы. Оператор BETWEEN эквивалентен двум операциям сравнения, объединенным логическим оператором AND.

({имя столбца}> = V_MIN) AND ({имя столбца} <= V_MAX)

Пример 2.16. Вывести данные о сотрудниках, зарплата которых находится в определенном диапазоне

SELECT employee_id, first_name, last_name, department_id

FROM Employees

WHERE salary BETWEEN 6000 AND 8000;

Для определения границ диапазона можно использовать вещественные числа, даты и строки.

Пример 2.17. Получить данные о сотрудниках, у которых значение комиссионных находится в определенном диапазоне

SELECT employee_id, first_name, last_name, department_id,

salary, commission_pct

FROM Employees

WHERE commission_pct BETWEEN 0.15 AND 0.2;

Пример 2.18. Получить данные о договорах, дата заключения которых лежит в определенном диапазоне

SELECT * FROM Orders

WHERE order_date BETWEEN ? 01.09.2019 ?

AND ? 30.09.2019 ?;

Оператор BETWEEN можно использовать совместно с логическим оператором NOT.

Пример 2.19. Получить данные о договорах, дата заключения которых не лежит в определенном диапазоне

SELECT * FROM Orders

WHERE order_date NOT BETWEEN ? 01.09.2019 ? AND ? 30.09.2019 ?;

При использовании в качестве границ диапазона строчных значений нужно учитывать особенности сортировки строк. Например, нужно получить данные о сотрудниках, имена которых начинаются с букв в диапазоне с A по B.

На первый взгляд может показаться, что данную задачу должен решить следующий запрос.
<< 1 ... 3 4 5 6 7 8 9 10 11 ... 24 >>
На страницу:
7 из 24