3.7 日期、时间类型

3.7.1 日期、时间类型介绍

字名
存储空间
描述
最低值
最高值
分辨率

timestamp [(p)] [with time zone]

8字节

时间和日期

4173 BC

5874897 AD

1毫秒/14位

timestamp [(p)] with time zone

8字节

时间和日期,带时区

4173 BC

5874897 AD

1毫秒/14位

interval [(p)]

12字节

时间间隔

-178000000年

178000000年

1毫秒/14位

date

4字节

只用于日期

4713 BC

5874897 AD

1天

time [(p)] [with time zone]

8字节

只用于一日内时间

00:00:00

24:00:00

1毫秒/14位

Time [(p)] with time zone

12字节

只用于一日内时间,带时区

00:00:00+1459

24:00:00-1459

1毫秒/14位

3.7.2 日期输入

任何标准的格式都可以,唯独不允许使用/作为间隔

3.7.3 时间输入

任何标准的格式都可以,但最好不要用时区缩写来表示时区

3.7.4 特殊值

输入字符串
适用类型
描述

epoch

date,timestamp

UNIX系统零时:1970-01-01 00:00:00+00

infinity

timestamp

时间戳最大值,比任何其他时间戳都晚

-infinity

timestamp

时间戳最小值,比任何其他时间戳都早

now

date,time,timestamp

当前事务开始时间

today

date,timestamp

今日午夜

tomorrow

date,timestamp

明日午夜

yesterday

date,timestamp

昨日物业

allballs

time

00:00:00.00 UTC

3.7.5 函数和操作符列表

操作符
示例
结果

+

date '2021-04-02' + integer '7'

date'2021-04-09'

+

date '2021-04-02' + interval '7 hour'

Timestamp'2021-04-02 07:00:00'

...

...

...

3.7.6 时间函数

函数
返回值类型
描述
示例
结果

age(timestamp, timestamp)

interval

减去参数后的“符号化结果”

age(timestamp'2011-05-02',timestamp'1980-01-01')

31 year 4 mons 1 day

age(timestamp)

interval

从current_date(获取当前日期)减去参数后的结果

age(timestamp'1980-01-01')

43 years 5 mons 15 days

...

...

...

...

...

3.7.7 extract 和 date_part函数

  1. extract函数从日期/时间数值中抽取子域,如年,小时等

最后更新于