9.9.时间日期函数和操作符
9.23中为时间日期可用函数。表9.31展示常用数学符号(+-*等)对时间日期数字操作的结果。格式化函数,请参见9.8节。
以下介绍的所有函数和操作符,基本为两种类型:一种为timewithtimezone或者timestampwithtimezone;一种为timewithouttimezone或者timestampwithouttimezone。处于简短目的,这两种类型就不分别展示了。
OVERLAPS也可用于这些函数。
(start1, end1) OVERLAPS (start2, end2)(start1, length1) OVERLAPS (start2, length2)
如果有重合,返回true;反之为false。每个时间段默认为 start<=time<end。
SELECT (DATE '2001-02-16', DATE '2001-12-21') OVERLAPS(DATE '2001-10-30', DATE '2002-10-30');Result: trueSELECT (DATE '2001-02-16', INTERVAL '100 days') OVERLAPS(DATE '2001-10-30', DATE '2002-10-30');Result: falseSELECT (DATE '2001-10-29', DATE '2001-10-30') OVERLAPS(DATE '2001-10-30', DATE '2001-10-31');Result: falseSELECT (DATE '2001-10-30', DATE '2001-10-30') OVERLAPS(DATE '2001-10-30', DATE '2001-10-31');Result: true
'1 day'不必然等于'24 hours'。例如时区为America/Denver:
SELECT timestamp with time zone '-04-02 12:00:00-07' + interval'1 day';Result: -04-03 12:00:00-06SELECT timestamp with time zone '-04-02 12:00:00-07' + interval'24 hours';Result: -04-03 13:00:00-06