Опубликован: 16.01.2007 | Уровень: для всех | Доступ: свободно
Лекция 9:

Работа с датой и временем

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >

Определение диапазонов

select e_id, birth_date
from employee_per where
birth_date BETWEEN
'1969-01-01' AND '1974-01-01';

Результат запроса представлен на рис. 9.4.

Поиск по дате рождения в определенном диапазоне

Рис. 9.4. Поиск по дате рождения в определенном диапазоне

Тот же запрос можно представить без конструкции BETWEEN:

select e_id, birth_date
from employee_per where
birth_date >= '1969-01-01' AND birth_date <= '1974-01-01';

Результат запроса будет аналогичен рис. 9.4.

Задания

  1. Вывести идентификаторы и даты рождения всех сотрудников, которые родились до 1965 г.
  2. Вывести идентификаторы и даты рождения сотрудников, родившихся между 1970 и 1973 гг.

Возможные решения

  1. mysql> select e_id, birth_date
        -> from employee_per
        -> where birth_date <= '1964-12-31';
  2. mysql> select e_id, birth_date
        -> from employee_per
        -> where birth_date >= '1970-01-01'
        -> and birth_date <= '1972-12-31';

Результат запроса представлен на рис. 9.5.

Поиск по дате рождения в определенном диапазоне

Рис. 9.5. Поиск по дате рождения в определенном диапазоне

Использование Date для сортировки данных

select e_id, birth_date
from employee_per
ORDER BY birth_date;

Результат запроса представлен на рис. 9.6.

Поиск по дате рождения в определенном диапазоне

Рис. 9.6. Поиск по дате рождения в определенном диапазоне

Выбор данных с помощью Date

Вот как можно выбрать сотрудников, которые родились в марте.

select e_id, birth_date
from employee_per
where MONTH(birth_date) = 3;

Результат запроса представлен на рис. 9.7.

Поиск по месяцу

Рис. 9.7. Поиск по месяцу

Можно также использовать вместо чисел названия месяцев.

select e_id, birth_date
from employee_per
where MONTHNAME(birth_date) = 'January';

Результат запроса представлен на рис. 9.8.

Использование названия месяца в поиске

Рис. 9.8. Использование названия месяца в поиске

Будьте внимательны при использовании названий месяцев, так как они различают регистр символов. Поэтому January будет работать, а JANUARY не будет!

Аналогично можно выбрать сотрудников, родившихся в определенный год или в определенный день.

select e_id, birth_date
from employee_per
where year(birth_date) = 1972;

Результат запроса представлен на рис. 9.9.

Поиск по году рождения

Рис. 9.9. Поиск по году рождения
select e_id, birth_date
from employee_per
where DAYOFMONTH(birth_date) = 20;

Результат запроса представлен на рис. 9.10.

Поиск по дате рождения

Рис. 9.10. Поиск по дате рождения
< Лекция 8 || Лекция 9: 1234 || Лекция 10 >
Александра Каева
Александра Каева
Здравствуйте! Студент ВУЗа может пройти проф.переподготовку и получить официальный документ?
Диляра Кенжебай
Диляра Кенжебай
для чего предназначены схемы баз данных?
Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Сергей Пантелеев
Сергей Пантелеев
Россия, Москва