在MySql中查找两个日期之间的秒差

在MySql中查找两个日期之间的秒差,mysql,Mysql,我想知道从表字段upload\u date到现在执行查询的时间(以秒为单位)已经过去了多少时间。在阅读了MySQL的一些函数之后,我尝试了一下,但没那么幸运 如果值小于24小时,是否有方法以小时为单位返回值;如果值小于等于100天,是否有方法以天为单位返回值?否则,我将不得不用PHP编写代码 日期是当前的时间戳格式,只是为了澄清这一点 我试过这个: SELECT DATE_SUB(NOW(), upload_date) FROM is_meeting_files 我也试过了,但相差0秒: SE

我想知道从表字段
upload\u date
到现在执行查询的时间(以秒为单位)已经过去了多少时间。在阅读了MySQL的一些函数之后,我尝试了一下,但没那么幸运

如果值小于24小时,是否有方法以小时为单位返回值;如果值小于等于100天,是否有方法以天为单位返回值?否则,我将不得不用PHP编写代码

日期是当前的时间戳格式,只是为了澄清这一点

我试过这个:

SELECT DATE_SUB(NOW(), upload_date) FROM is_meeting_files
我也试过了,但相差0秒:

SELECT DATEDIFF(CURDATE(), upload_date) AS intval FROM is_meeting_files LIMIT 0,5;

您可以相互减去unix时间戳值:

SELECT unix_timestamp(NOW()) - unix_timestamp(upload_date) from is_meeting_files;

您可以相互减去unix时间戳值:

SELECT unix_timestamp(NOW()) - unix_timestamp(upload_date) from is_meeting_files;

您可以这样做:

SELECT
    IF (TIMESTAMPDIFF(HOUR, upload_date, NOW()) <= 24,
        CONCAT(TIMESTAMPDIFF(HOUR, upload_date, NOW()), ' hours'),
        IF (TIMESTAMPDIFF(DAY, upload_date, NOW()) <= 100,
            CONCAT(TIMESTAMPDIFF(DAY, upload_date, NOW()), ' days'),
            CONCAT(TIMESTAMPDIFF(MONTH, upload_date, NOW()), ' months'),
        )
    ) as diff
FROM is_meeting_files;
选择

如果(TIMESTAMPDIFF(HOUR,upload_date,NOW())您可以这样做:

SELECT
    IF (TIMESTAMPDIFF(HOUR, upload_date, NOW()) <= 24,
        CONCAT(TIMESTAMPDIFF(HOUR, upload_date, NOW()), ' hours'),
        IF (TIMESTAMPDIFF(DAY, upload_date, NOW()) <= 100,
            CONCAT(TIMESTAMPDIFF(DAY, upload_date, NOW()), ' days'),
            CONCAT(TIMESTAMPDIFF(MONTH, upload_date, NOW()), ' months'),
        )
    ) as diff
FROM is_meeting_files;
选择

如果(TIMESTAMPDIFF(HOUR,upload_date,NOW())我是通过php完成的,但感谢您的帖子。我将尝试在我的sql查询中完成它。我是通过php完成的,但感谢您的帖子。我将尝试在我的sql查询中完成它。