时间和日期类型
限制
时间和日期类型目前精确到毫秒。
名称 |
描述 |
存储空间 |
---|---|---|
DATE |
日期和时间。仅支持ISO 8601格式:'2020-01-01' |
32位 |
TIME |
不带时区的时间(时、分、秒、毫秒) 例如:TIME '01:02:03.456' |
64位 |
TIME WITH TIMEZONE |
带时区的时间(时、分、秒、毫秒),时区用UTC值表示 例如:TIME '01:02:03.456 -08:00' |
96位 |
TIMESTAMP |
时间戳 |
64位 |
TIMESTAMP WITH TIMEZONE |
带时区的时间戳 |
64位 |
INTERVAL YEAR TO MONTH |
时间间隔字面量,年,月,格式: SY-M S:可选符号(+/-) Y:年数 M:月数 |
128位 |
INTERVAL DAY TO SECOND |
时间间隔字面量,日,小时,分钟, 秒,精确到毫秒,格式:SD H:M:S.nnn S:可选符号(+/-) D:天数 M:分钟数 S:秒数 nnn:毫秒数 |
128位 |
示例:
-- 查询日期 SELECT DATE '2020-07-08'; _col0 ------------ 2020-07-08 (1 row) -- 查询时间 SELECT TIME '23:10:15'; _col0 -------------- 23:10:15 (1 row) SELECT TIME '01:02:03.456 -08:00'; _col0 -------------- 01:02:03.456-08:00 (1 row) -- 时间间隔用法 SELECT TIMESTAMP '2015-10-18 23:00:15' + INTERVAL '3 12:15:4.111' DAY TO SECOND; _col0 ------------------------- 2015-10-22 11:15:19.111 (1 row) SELECT TIMESTAMP '2015-10-18 23:00:15' + INTERVAL '3-1' YEAR TO MONTH; _col0 ------------------------- 2018-11-18 23:00:15 (1 row) select INTERVAL '3' YEAR + INTERVAL '2' MONTH ; _col0 ------- 3-2 (1 row) select INTERVAL '1' DAY+INTERVAL '2' HOUR +INTERVAL '3' MINUTE +INTERVAL '4' SECOND ; _col0 ---------------- 1 02:03:04.000 (1 row)