Для хранения времени суток без даты предназначены типы:

  • time [ (p) ] without time zone
  • time [ (p) ] with time zone

Тип time без уточнения эквивалентен типу time without time zone.

Допустимые вводимые значения этих типов состоят из записи времени суток и необязательного указания часового пояса.

Разделять часы, минуты и секунды можно через :, либо указывать без разделителей вовсе:

SELECT time '12:05:30',
       time '120530'
# time time
1 12:05:30 12:05:30

Если в значении для типа time without time zone указывается часовой пояс или дата, то они игнорируются.

Если не указать секунды, то они считаются равными 0:

SELECT time '11:00'
# time
1 11:00:00

Время можно указывать с дробной частью секунд:

SELECT time '11:15:30.1234'
# time
1 11:15:30.1234

При указании точности дробная часть секунды округляется:

SELECT time '11:15:30.1288',
       time(2) '11:15:30.1288'
# time time
1 11:15:30.1288 11:15:30.13

Время можно указывать в 12 часовом формате с использованием модификаторов AM и PM:

SELECT time '11:00',
       time '11:00 AM',
       time '11:00 PM'
# time time time
1 11:00:00 11:00:00 23:00:00

9.6 Ввод даты со временем: to_timestamp

9.8 Ввод времени с часовым поясом