Учебно-практическое пособие москва 2017 ббк


quantity unit [quantity unit ...] direction



Pdf көрінісі
бет40/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   36   37   38   39   40   41   42   43   ...   243
Байланысты:
Язык SQL. Базовый курс

quantity unit [quantity unit ...] direction
Здесь unit означает единицу измерения, а quantity — количество таких единиц. В ка-
честве единиц измерения можно использовать следующие: microsecond, millisecond,
second, minute, hour, day, week, month, year, decade, century, millennium. Параметр
direction может принимать значение ago (т. е. «тому назад») либо быть пустым. При-
ведем примеры:
SELECT '1 year 2 months ago'::interval;
interval
------------------
-1 years -2 mons
(1 строка)
Обратите внимание, что параметр ago заставляет СУБД добавить знак «минус» перед
всеми полями.
Можно использовать альтернативный формат, предлагаемый стандартом ISO 8601:
P [ years-months-days ] [ T hours:minutes:seconds ]
Здесь строка должна начинаться с символа «P», а символ «T» разделяет дату и время
(все выражение пишется без пробелов). Например:
SELECT 'P0001-02-03T04:05:06'::interval;
interval
-------------------------------
1 year 2 mons 3 days 04:05:06
(1 строка)
Поскольку интервал — это отрезок времени между двумя временн ´ыми отметками, то
значение этого типа можно получить при вычитании одной временн´ой отметки из
другой.
SELECT ('2016-09-16'::timestamp - '2016-09-01'::timestamp)::interval;
interval
----------
15 days
(1 строка)
45


Как мы уже говорили ранее, в PostgreSQL предусмотрен целый ряд функций для рабо-
ты с датами и временем. Например, для получения значений текущей даты, текущего
времени и текущей временн´ой отметки (т. е. даты и времени в одном значении) слу-
жат функции current_date, current_time, current_timestamp. Эти функции часто при-
меняются для получения значений по умолчанию при вставке строк в таблицы. Их
особенностью является то, что при их вызове круглые скобки не используются. Для
получения полной информации обратитесь к документации (раздел 9.9 «Операторы
и функции даты/времени»).
Значения временн ´ых отметок можно усекать с той или иной точностью с помощью
функции date_trunc(). Например, для получения текущей временн´ой отметки с точ-
ностью до одного часа нужно сделать так:


Достарыңызбен бөлісу:
1   ...   36   37   38   39   40   41   42   43   ...   243




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет