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 函数不是被当作数据输入串识别的。