将存储在db中的6个日期与当前日期进行比较

时间:2015-09-21 14:36:12

标签: php mysql

我陷入了一个查询,我必须比较存储在数据库中的6个日期,并且我想将它们与当前日期进行比较。

SELECT * 
FROM registration 
WHERE ((( (v1_date)  OR (v2_date) OR (v3_date) OR (v4_date)  OR (v5_date) OR (v6_date) - '$current_date') / 86400) <= 3)

1 个答案:

答案 0 :(得分:0)

您不能将日期与OR一起 - 您需要单独检查每个日期并将结果OR一起检查。看看DATE&amp; DATEDIFF用于提取日期和时间。比较2个日期。 https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

如果时间格式是自1970年1月1日午夜起的Unix时间秒,那么FROM_UNIXTIME()函数可用于转换为MySQL格式。

SELECT * 
FROM registration 
WHERE (DATEDIFF(CURDATE(), DATE(FROM_UNIXTIME(v1_date))) <=3 ) 
OR (DATEDIFF(CURDATE(), DATE(FROM_UNIXTIME(v2_date))) <=3 )
....
....

使用CURDATE()将在服务器上获取今天的日期 - 避免客户端上的日期差异出现任何问题。

相关问题