文档首页/ 云数据库 GaussDB/ 开发指南(主备版_8.x)/ FAQ/ 如何查询两个时间的时间差?
更新时间:2024-06-03 GMT+08:00

如何查询两个时间的时间差?

答:您可以通过以下方法计算时间差。
  • 通过age()函数计算两个时间的时间差。
    gaussdb=# SELECT age(timestamp '2001-04-10 14:00:00', timestamp '2001-04-06 13:00:00');
           age       
    -----------------
     4 days 01:00:00
    (1 row)
  • 通过将字符串转为date类型然后再相减。
    gaussdb=# SELECT ('2001-04-10 14:00:00'::date - '2001-04-06 13:00:00'::date);
     ?column? 
    ----------
            4
    (1 row)
  • 通过date_part()函数,获取日期或者时间值中子域的值。
    gaussdb=# SELECT date_part('day', '2001-04-10 14:00:00'::timestamp - '2001-04-06 13:00:00'::timestamp);
     date_part 
    -----------
             4
    (1 row)