购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 时间相关

(1)当前时间及时间格式化输出

函数now()取得当前系统时间,等同于系统变量CURRENT_TIMESTAMP。使用to_char(current_timestamp,'YYYY-MM-DD HH24:MI:SS US')可以格式化时间,格式符含义如下:

YYYY表示四位长度的年,MM表示两位长度的月,DD表示两位长度的日,HH24表示二十四小时制的时,MI表示两位长度的分,SS表示两位长度的秒,US表示微秒。

(2)时间差

两个时间相差的秒数使用:

extract(epoch FROM (时间1 -时间2 ))

通过该函数,我们可以制作一个自定义函数f_time_span用于表示时间已过去多久的描述。

我们在查询中就可以使用f_time_span得到间隔的描述。

(3)时间戳

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

为什么起点是这1970年01月01日呢?这源于UNIX操作系统的重要地位。UNIX操作系统它是早期计算机系统的基石之一。1960年代末和1970年代初,UNIX系统开始在贝尔实验室开发。这个操作系统的设计者之一是Ken Thompson,为了在UNIX系统中表示时间,选择了1970年1月1日作为时间戳的起点,这个特定时间点,也被称为时间纪元。

日期转时间戳,使用epoch,单词本身为纪元的意思。

时间戳转日期,使用to_timestamp函数。

关于时间戳的其它语言的处理可参阅 附录三、《关于时间戳》 w3liFS91v6MexaKi+Lp8LnUg+0CVSqk3MuocYrxzC+5mxi3BcGRy8VkfhNy6Pyzd

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开