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