Для хранения времени суток без даты предназначены типы:
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 |