8.5.1.5. 特殊值

PostgreSQL 为方便起见支持几个特殊输入值。 值infinity 和 -infinity 是特别在系统内部表示的,并且将按照同样的方式显示; 但是其它的都只是符号缩写,在读取的时候将被转换成普通的日期/时间值。 (特别是,now 和相关的字串在读取的时候就被转换成对应的数值。) 所有这些值在 SQL 命令里当作普通常量对待时,都需要写在单引号里面。

Table 8-13. 特殊日期/时间输入

输入字串有效类型描述

输入字串 有效类型 描述
epoch date, timestamp 1970-01-01 00:00:00+00 (Unix 系统零时)
infinity timestamp 比任何其它时间戳都晚
-infinity timestamp 比任何其它时间戳都早
now date, time, timestamp 当前事务时间
today date, timestamp 今日午夜
tomorrow date, timestamp 明日午夜
yesterday date, timestamp 昨日午夜
allballs time 00:00:00.00 UTC

下列 SQL 兼容函数也可以用于获取对应数据类型的当前时间值: CURRENT_DATE,CURRENT_TIME, CURRENT_TIMESTAMP,LOCALTIME, LOCALTIMESTAMP。最后四个接受一个可选的精度声明。 不过,请注意这些 SQL 函数不是被当作数据输入串识别的。

作者 龙飞