我一直在寻找这个问题的答案,在这里我发现DATEDIFF()
函数是在有日期时执行此操作的一种方法。但是,如果您没有特定的日期怎么办?
如果要在 2列(rental_date, return_date
中找到日期之间的时间间隔,该怎么办。
我尝试使用DATEDIFF()
函数,但是看起来您需要实际的日期。
答案 0 :(得分:1)
您可以使用date_part
在PostgreSQL
中查找两个日期之间的差异。
语法如下。
DATE_PART('day', enddate - startdate);
您还可以获取年,月,周,小时,分钟,秒。您可以通过单击this链接来查看有关PostgreSQL中date date和date part函数用法的更多信息。
答案 1 :(得分:1)
如果您的两列数据类型是日期,则可以进行减法
select '2018-12-10'::date - '2018-11-18'::date
所以您的情况应该是
with t1 as
(
select '2018-12-10'::date as rental_date, '2018-11-18'::date as return_date
)
select rental_date-return_date from t1