SQL比较日期返回错误的结果

时间:2014-06-24 16:36:20

标签: mysql sql date comparison

我试图在指定日期之后获取日期,让我们说2014:06:24 18:27:15所以这是我的查询:

SELECT 
    collected, 
    ip 
FROM syslogs 
WHERE date_format(collected, '%Y:%m:%d %H:%k:%s') > date_format('2014:06:24 18:27:15', '%Y:%m:%d %H:%k:%s') 
ORDER BY collected DESC

输出给了我这个:

[...]
24/06/2014 18:22:16 192.168.0.12
24/06/2014 18:22:16 192.168.0.12
24/06/2014 18:21:54 192.168.0.12
24/06/2014 18:21:54 192.168.0.12
24/06/2014 18:21:39 192.168.0.12
24/06/2014 18:21:39 192.168.0.12
24/06/2014 18:21:34 192.168.0.12
[...]

这意味着它会返回一些之前所需时间的行。怎么可能?

1 个答案:

答案 0 :(得分:2)

我认为问题是你使用“k”几分钟。根据{{​​3}},“k”表示小时,输入27表示小时边界以外的时间。