SQL选择created_at大于日期的行

时间:2015-04-26 14:09:35

标签: php mysql datetime

运行以下查询后,我得到了非常奇怪的结果:

select * from "statuses" where "created_at" > '2015-04-26 02:04:24';

这似乎返回了以下日期:

2015-04-26 10:44:04
2015-04-26 12:19:47
2015-04-26 12:20:12

如您所见,这些实际上低于我输入的指定日期/时间。我认为这与日期的格式有关?

我的查询应如何获得准确的结果?

2 个答案:

答案 0 :(得分:3)

如果您已将数据保存在datetimetimestamp中,那么您将获得正确的结果,小时分钟和秒格式为H:i:s,即24小时格式。

所以在比较中

created_at > '2015-04-26 02:04:24'

2015-04-26 02:04:24表示2 AM + 你得到的结果都大于那个

10 AM, 12 PM等等

如果您希望查找大于2 PM,那么您需要

created_at > '2015-04-26 14:04:24'

答案 1 :(得分:0)

好的,所以感谢评论者我已经弄清楚发生了什么,我实际上并没有考虑检查实际时间值,但在我的PHP脚本中我将时间戳转换为h:m:s这应该已经H:m:s(24小时),现在正在产生正确的结果。

感谢您提示我检查一下,我有时会错过最简单的事情。