Этот вопрос подробно рассмотрен в шаге 9.
Контрольные вопросы и задания для самостоятельного выполнения
1. Найдите ошибку в запросе:
2. Повторите запросы из примеров.
3. Выберите телефоны из таблицы AUTO. Вместо пустых телефонов выведите: NO PHONE, нет.
Для более удобной работы с текстовыми данными в запросах SQL существует специальный оператор — LIKE, который устанавливает соответствие значения текстовой ячейки некоторому заданному шаблону. LIKE — пожалуй, наиболее часто используемый оператор для поиска, фильтра текстовых данных в таблице.
В зависимости от того, соответствует ли значение в заданной ячейке таблицы шаблону LIKE, строка будет выведена в запросе или нет; естественно, если значение ячейки не соответствует шаблону, строка не выводится в запросе SELECT.
Синтаксис
Шаблон LIKE несложный и состоит из следующих специальных символов:
символ подчеркивание _заменяет любой символ;
символ процент %заменяет собой любое количество различных символов.
Примеры шаблонов LIKE
«%им» — выведет все записи, где значение в заданной колонке заканчивается «им», то есть любое количество символов (%), затем «им»;
«_осква» — выведет все записи, где значение в заданной колонке заканчивается «осква»;
«%лек%' — выведет все записи, где значение в заданной колонке содержит слог «лег»;
«Москв%' — выведет все записи начинающиеся Москв — то есть Москв, а затем любые символы.
Следует помнить, что LIKE применяется только для текстовых данных в ячейке таблицы, а также то, что шаблон указывается в одинарных кавычках.
Кроме LIKE допустимо использовать конструкцию NOT LIKE.
Синтаксис
Примеры
Выбрать из таблицы Маn людей *, имена (FIRSTNAME) которых начинаются с буквы А.
Рисунок 53. Запрос к MAN с LIKE
Выбрать из таблицы Маn людей *, имена (FIRSTNAME) которых заканчиваются на «ег».
Рисунок 54. Запрос к MAN c LIKE
Выбрать из таблицы Маn имена и фамилии (FIRSTNAME, LASTNAME) людей, фамилии (LASTNAME) которых содержат слог «нов».
Рисунок 55. Запрос к MAN c LIKE
Выбрать из таблицы CITY города *, в названии (CITYNAME) которых вторая буква «л».
Рисунок 56. Запрос к CITY c LIKE
Выбрать из таблицы CITY города *, названия которых (CITYNAME) не начинаются с «K».
Рисунок 57. Запрос к CITY c NOT LIKE
При использовании шаблонов с оператором LIKE в шаблоне необходимо соблюдать заглавные или строчные буквы, то есть регистр букв имеет значение при использовании LIKE.
Приведите пример использования символа подчеркивания в шаблоне.
Да, вот пример:
Будут выбраны строки, начинающиеся с любого символа и заканчивающиеся на ИНИЙ.
Контрольные вопросы и задания для самостоятельного выполнения
1. Выберите из таблицы MAN всех людей *, чьи фамилии не начинаются со слога «Ив», напишите SQL-запрос.
2. Выберите из таблицы MAN всех людей *, в чьих именах есть русская буква «е».
3. Выберите из таблицы CITY города, где третья буква в наименовании «а».
Шаг 25. Работаем с датами
Для работы с календарным типом «дата-время» в языке SQL предусмотрено множество сервисных функций. Одни отвечают за преобразование типа «дата-время» в строку, другие позволяют выполнять операции с этим типом. Сейчас мы рассмотрим основные функции, наиболее часто применяемые на практике.
Напоминаю: тип DATE содержит дату и время, это может быть, например, время заполнения накладной, дата и время создания записи в таблице.
Функция SYSDATE возвращает текущие дату и время.
Если мы попытаемся найти предыдущий день, тогда
SYSDATE-1 — предыдущий день, то же самое время;
SYSDATE-1/24*3 текущее время — 3 часа назад, то есть единица в типе данных «дата-время» (DATE) означает сутки, а 1/24 (1 час).
Функция TRUNC обрезает время из даты, оставляя только дату.
Рассмотрим еще несколько примеров.
— 01.09.2012
Первый день месяца, другая запись:
— 01.09.2012
Первый день года:
— 01.01.2012
Первый день года, другая запись:
Функция EXTRACT предназначена для того, чтобы извлечь месяц, год, день из типа «дата время» (DATE).
Примеры работы функции EXTRACT
Извлечь месяц из даты.
Извлечь день из текущей даты.
Извлечь год из текущей даты.
Преобразование даты в строку и строки в дату
Читать дальше
Конец ознакомительного отрывка
Купить книгу