Иллюстрированный самоучитель по PostgreSQL

Функции для работы с датой и временем

date_trunc()

Синтаксис:

date_trunc(s .t)

Функция date_trunc () получает два аргумента s и t, относящихся к типам text и timestamp соответственно. Строка s определяет компонент, до которого усекается аргумент t. В данном контексте под усечением понимается удаление всех компонентов, детализация которых превышает заданную.

Допустимые значения аргумента s перечислены в табл. 5.12.

Пример:

booktown=# SELECT date_trune('minute', now());
date trunc
2001-08-31 09:59:00-07
(1 row)

booktown=# SELECT date_trunc('hour', now());
date trunc
2001-08-31 09:00:00-07 (1 row)
booktown=# SELECT date_trunc('year', now());
date trunc
2001-01-01 00:00:00-08
(1 row)

extract()

Синтаксис:

extract(k FROM t) extract(k FROM 1)

Функция SQL92 extract() представляет собой аналог функции PostgreSQL date_part() со слегка измененным синтаксисом. При перечислении аргументов вместо запятой используется ключевое слово FROM. Аргументы аналогичны аргументам функции date_part(), хотя первый аргумент является ключевым словом SQL, а не строкой и поэтому не заключается в кавычки. Допустимые значения k перечислены в табл. 5.12.

Учтите, что функция extract() является "псевдонимом" функции PostgreSQL date_part () в синтаксисе SQL92, поэтому по умолчанию в выходных данных функция extract() представляется именем date_part.

Примеры:

booktown=# SELECT extract(MINUTE FROM
interval('3 days 12 minutes1)): datejpart
12
(1 row)

booktown=# SELECT extractCMONTH FROM now()):
date_part
8
(1 row)
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.