今天开始的时间价值

时间:2014-07-19 17:43:13

标签: mysql sql

我试图获取用户自每天开始以来登录的次数。

SELECT user_id 
    FROM users 
    WHERE TIMESTAMPDIFF(HOUR, user_login, NOW()) < 12 
        AND user_id = 1

此sql检查登录和当前时间之间的差异是错误的。 什么应该去NOW()来指示那天的午夜+ 1分钟并检查那天的登录?

1 个答案:

答案 0 :(得分:1)

据我了解你的代码,问题是关于mySQL而不是PHP。使用

CURDATE()

而不是NOW()因为TIMESTAMPDIFF会将其用作'当日,00:00:00'

要结束当天的使用

CURDATE() + INTERVAL 1 DAY

所以你的where子句应该是

WHERE user_login BETWEEN CURDATE() AND CURDATE() + INTERVAL 1 DAY

如果你有DATE格式的user_login字段,否则你必须相应地转换它。