ВУЗ:
Составители:
Рубрика:
81
При работе с датами часто возникают проблемы в связи с особенностями
форматов записи. Следующие два примера показывают, что для получения
корректного результата надо знать, в какой последовательности задаются год,
месяц и день.
SELECT FirstName,LastName,HireDate FROM employee
WHERE HireDate>'12/30/93'
Дата 12/30/93 означает: 12 – месяц, 30 –день, 93 – год.
Рис. 27. Дата задана строкой '31.12.1992'
Привычная форма даты 31.12.1992 означает: 31–день, 12–месяц, 1992–год.
Значения дат можно сравнивать друг с другом, вычитать одну из другой.
Пример 3.17. Получить список служащих, проработавших на предпри-
ятии к 1/01/2000 более 8 лет:
SELECT FirstName,LastName,HireDate FROM employee
WHERE '1/01/2000'-HireDate > 8*365+2
Пример 3.18. Получить список сотрудников, поступивших на работу до
1.01.89 и после 31.12.93, то есть раньше 1989 г. и позже 1993 г.:
SELECT FirstName,LastName,HireDate FROM employee
WHERE HireDate NOT BETWEEN "1-JAN-1989" AND "31-DEC-1993"
Кроме абсолютных дат некоторые реализации языка SQL (например, Inter
Base) позволяют оперировать относительными значениями: yesterday (вчера),
today (сегодня), now (сейчас, включая время), tomorrow (завтра).
При работе с датами часто возникают проблемы в связи с особенностями
форматов записи. Следующие два примера показывают, что для получения
корректного результата надо знать, в какой последовательности задаются год,
месяц и день.
SELECT FirstName,LastName,HireDate FROM employee
WHERE HireDate>'12/30/93'
Дата 12/30/93 означает: 12 – месяц, 30 –день, 93 – год.
Рис. 27. Дата задана строкой '31.12.1992'
Привычная форма даты 31.12.1992 означает: 31–день, 12–месяц, 1992–год.
Значения дат можно сравнивать друг с другом, вычитать одну из другой.
Пример 3.17. Получить список служащих, проработавших на предпри-
ятии к 1/01/2000 более 8 лет:
SELECT FirstName,LastName,HireDate FROM employee
WHERE '1/01/2000'-HireDate > 8*365+2
Пример 3.18. Получить список сотрудников, поступивших на работу до
1.01.89 и после 31.12.93, то есть раньше 1989 г. и позже 1993 г.:
SELECT FirstName,LastName,HireDate FROM employee
WHERE HireDate NOT BETWEEN "1-JAN-1989" AND "31-DEC-1993"
Кроме абсолютных дат некоторые реализации языка SQL (например, Inter
Base) позволяют оперировать относительными значениями: yesterday (вчера),
today (сегодня), now (сейчас, включая время), tomorrow (завтра).
81
Страницы
- « первая
- ‹ предыдущая
- …
- 79
- 80
- 81
- 82
- 83
- …
- следующая ›
- последняя »
