TIMESTAMPDIFF
以指定的间隔返回两个 TIMESTAMP 或 TIMESTAMPTZ 值之间的时间跨度。 TIMESTAMPDIFF 在其计算中不包括开始日期。
行为类型
语法
TIMESTAMPDIFF ( datepart, start, end );
参数
- datepart
- 指定
TIMESTAMPDIFF返回的日期或时间间隔类型。如果 datepart 为表达式,则必须用括号括起来:TIMESTAMPDIFF((expression), start, end );datepart 的求值结果必须为以下字符串字面量之一,无论带引号还是不带引号:
-
year|yy|yyyy -
quarter|qq|q -
month|mm|m -
day|dayofyear|dd|d|dy|y -
week|wk|ww -
hour|hh -
minute|mi|n -
second|ss|s -
millisecond|ms -
microsecond|mcs|us
-
-
start, end - 指定开始日期和结束日期,其中 start 和 end 的求值结果为以下数据类型之一:
-
TIMESTAMP/TIMESTAMPTZ -
TIMESTAMPTZ
如果 end < start,则
TIMESTAMPDIFF返回负值。 -
日期部分间隔
TIMESTAMPDIFF 使用 datepart 实参计算两个日期之间的间隔数,而不是二者之间的实际时间量。有关详细信息,请参阅
DATEDIFF。
示例
=> SELECT TIMESTAMPDIFF (YEAR,'1-1-2006 12:34:00', '1-1-2008 12:34:00');
timestampdiff
---------------
2
(1 row)
另请参阅
DATEDIFF