интервалы указываются в виде строки, в которой перечисляются значение и тип промежутка:
· microsecond - микросекунды;
· millisecond - милисекунды;
· second - секунды;
· minute - минуты;
· hour - часы;
· day - дни;
· week - недели;
· month - месяцы;
· year - года;
· century - век;
· millennium - тысячелетие.
Слова можно употреблять и во множественном числе. Если интервал начинается с дней, то можно использовать короткий формат строки как в Oracle для дневных интервалов.
-- интервал в три годаINTERVAL '3 year' -- интервал в три года и три дняINTERVAL '3 years 3 day' -- интервал в три года, три дня-- и 3 минутыINTERVAL '3 year 3 day 3 minute' -- интервал в 3 дня, 7 часов,-- 7 минут и 5 секундINTERVAL '3 7:07:05' -- пример интервала в запросе-- выборка интервала в два дняselect INTERVAL '2 day';
MySQL
Только сложные интервалы, состоящие из более одного типа промежутков, указываются в строке. Для этих целей введены дополнительные по сравнению с PostgreSQL имена для промежутков:
· second_microsecond - секунды и микросекунды, формат строки 's.m';
· minute_microsecond - минуты и микросекунды, формат строки 'm.m';
· minute_second - минуты и секунды, формат строки 'm:s';
· hour_microsecond - часы и микросекунды, формат строки 'h.m';
· hour_second - часы, минуты и секунды, формат строки 'h:m:s';
· hour_minute - часы и минуты, формат строки 'h:m';
· day_microsecond - день и микросекунды, формат строки 'd.m';
· day_second - дни, часы, минуты и секунды, формат строки 'd h:m:s';
· day_minute - дни, часы и минуты, формат строки 'd h:m';
· day_hour - дни и часы, формат строки 'd h';
· year_month - года и месяцы, формат строки 'y-m'.
MySQL интервалы используются в выражениях с временными типами данных, использовать их в качестве конечного типа для столбцов запрещено.
-- интервал в три годаINTERVAL 3 year -- интервал в 3 дня, 7 часов,-- 7 минут и 5 секундINTERVAL '3 7:07:05' day_second -- пример интервала в запросе-- выборка интервала в два дня-- ошибка, столбец не может быть типа INTERVALselect INTERVAL '2 day'; -- правильно, к дате прибавляем интервалselect date '2009-01-01'+INTERVAL '3 7:07:05' day_second