两列之间的天数SQL

时间:2018-11-18 06:11:04

标签: sql postgresql date-arithmetic

我一直在寻找这个问题的答案,在这里我发现DATEDIFF()函数是在有日期时执行此操作的一种方法。但是,如果您没有特定的日期怎么办?

如果要在 2列rental_date, return_date中找到日期之间的时间间隔,该怎么办。

我尝试使用DATEDIFF()函数,但是看起来您需要实际的日期。

2 个答案:

答案 0 :(得分:1)

您可以使用date_partPostgreSQL中查找两个日期之间的差异。

语法如下。

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