【问题标题】:SQL compare date return wrong resultsSQL比较日期返回错误结果
【发布时间】:2014-06-24 16:36:20
【问题描述】:

我正在尝试获取给定日期之后的日期,比如说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
[...]

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

【问题讨论】:

  • 你为什么首先使用DATE_FORMAT()进行日期比较?
  • 3 大于 1,就像 3+2 大于 1+2 一样。

标签: mysql sql date comparison


【解决方案1】:

我认为问题在于您使用“k”几分钟。 "k" 是根据this 表示的小时,如果小时边界之外,输入 27。

【讨论】:

猜你喜欢
  • 2015-06-16
  • 1970-01-01
  • 1970-01-01
  • 2015-05-14
  • 1970-01-01
  • 1970-01-01
  • 2019-01-07
  • 2011-07-09
  • 1970-01-01
相关资源
最近更新 更多