Для хранения времени суток без даты предназначены типы:
time [ (p) ] without time zonetime [ (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 |