Sql查询 - 在两个不同的日期列之间获取结果,并确保其匹配日期

时间:2015-07-14 10:23:59

标签: mysql

我在' Deals'中有以下两列?表。 - subscribed_date - expired_date

我想要 SQL查询来过滤具有2列差异的记录,如下所示

  

(expired_date - subscribed_date)== 7天

例如:

id  |  subscribed_date      | expired_date
1   |  2015-07-04 04:13:29  | 2015-09-03 04:13:29
2   |  2015-06-03 04:13:29  | 2015-06-10 04:13:29
3   |  2015-01-05 04:13:29  | 2015-02-08 04:13:29

在上面的例子中,结果应该是id = 2,因为它的差异是7天。

是否可以在没有迭代的情况下通过SQL查询?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

最简单的方法是使用timestampdiff函数

mysql> select timestampdiff(day,'2015-06-03 04:13:29','2015-06-10 04:13:29') as d ;
+------+
| d    |
+------+
|    7 |
+------+

所以查询变为

select * from deals
where timestampdiff(day,subscribed_date,expired_date) = 7