Использование Date для сортировки данных
Возможные решения
Задания
Определение диапазонов
select e_id, birth_datefrom employee_per wherebirth_date BETWEEN'1969-01-01' AND '1974-01-01'; Результат запроса представлен на рис. 9.4.

Рис. 9.4. Поиск по дате рождения в определенном диапазоне
Тот же запрос можно представить без конструкции BETWEEN:
select e_id, birth_datefrom employee_per wherebirth_date >= '1969-01-01' AND birth_date <= '1974-01-01'; Результат запроса будет аналогичен рис. 9.4.
- Вывести идентификаторы и даты рождения всех сотрудников, которые родились до 1965 г.
- Вывести идентификаторы и даты рождения сотрудников, родившихся между 1970 и 1973 гг.
1. mysql> select e_id, birth_date2. -> from employee_per3. -> and birth_date <= '1964-12-31';4. mysql> select e_id, birth_date5. -> from employee_per6. -> where birth_date >= '1970-01-01'7. -> and birth_date <= '1972-12-31'; -
Результат запроса представлен на рис. 9.5.

Рис. 9.5. Поиск по дате рождения в определенном диапазоне
select e_id, birth_datefrom employee_perORDER BY birth_date; Результат запроса представлен на рис. 9.6.

Рис. 9.6. Поиск по дате рождения в определенном диапазоне
Вот как можно выбрать сотрудников, которые родились в марте.
select e_id, birth_datefrom employee_perwhere MONTH(birth_date) = 3; Результат запроса представлен на рис. 9.7.

Рис. 9.7. Поиск по месяцу
Можно также использовать вместо чисел названия месяцев.
select e_id, birth_datefrom employee_perwhere MONTHNAME(birth_date) = 'January'; Результат запроса представлен на рис. 9.8.

Рис. 9.8. Использование названия месяца в поиске
Будьте внимательны при использовании названий месяцев, так как они различают регистр символов. Поэтому January будет работать, а JANUARY не будет!
Аналогично можно выбрать сотрудников, родившихся в определенный год или в определенный день.
select e_id, birth_datefrom employee_perwhere year(birth_date) = 1972; Результат запроса представлен на рис. 9.9.

Рис. 9.9. Поиск по году рождения
select e_id, birth_datefrom employee_perwhere DAYOFMONTH(birth_date) = 20; Результат запроса представлен на рис. 9.10.

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