MySQL中两个日期列之间的区别

时间:2014-12-30 23:05:26

标签: php mysql

这在PHP中没有返回错误,但是它不是进行数学计算,而是为最终列返回空白(所有其他列都可以正常工作)。

SELECT 
    mantis_category_table.name, 
    mantis_bug_history_table.bug_id, 
    FROM_UNIXTIME(mantis_bug_table.date_submitted, "%m-%d-%Y") AS DATE2, 
    FROM_UNIXTIME(min(mantis_bug_history_table.date_modified), "%m-%d-%Y") AS FirstOfdate_modified,
    TO_DAYS(FROM_UNIXTIME(min(mantis_bug_history_table.date_modified), "%m-%d-%Y")) - TO_DAYS(FROM_UNIXTIME(mantis_bug_table.date_submitted, "%m-%d-%Y"))

如何在select语句中正确区分第3和第4项(两个日期)。

我已经尝试过这样的DATEDIFF:

SELECT DATEDIFF(DATE2,FirstOfdate_modified)

它也不起作用。

感谢。

1 个答案:

答案 0 :(得分:1)

我假设您有2个unix时间戳。

FROM_UNIXTIME()将它们格式化为字符串,减去字符串不是有效的操作。 (to_day可能会使情况变得更糟......)

但是你为什么不减去unix时间戳呢?您将在几秒钟内得到结果,但它应该可以正常工作。

例如:

SELECT 
    mantis_category_table.name, 
    mantis_bug_history_table.bug_id, 
    FROM_UNIXTIME(mantis_bug_table.date_submitted, "%m-%d-%Y") AS DATE2, 
    FROM_UNIXTIME(min(mantis_bug_history_table.date_modified), "%m-%d-%Y") AS FirstOfdate_modified,
    (min(mantis_bug_history_table.date_modified)- mantis_bug_table.date_submitted)/ 86400 as day_difference.