Опубликован: 16.01.2007 | Доступ: свободный | Студентов: 9685 / 2435 | Оценка: 4.33 / 4.16 | Длительность: 10:11:00
Лекция 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 >
Александра Каева
Александра Каева
Диляра Кенжебай
Диляра Кенжебай