2012-07-12 65 views
0

有没有办法将mySQL中的日期时间字段与当前日期进行比较并返回时差?我真的不知道从哪里开始,所以如果有人有想法,请指点我正确的方向。MySQL比较日期与时差

这是我已经尝试过。

SELECT * 
FROM `order` 
WHERE `dateTimeAdded` - NOW() <1; 

基本上我试图实现的是获得在数据库中保存8小时以上的订单。谢谢!

回答

3

如果您想查询有使用上的日期时间列的索引,你不应该做的操作在列,但仅在另一边(功能)的机会:

SELECT * 
FROM `order` 
WHERE dateTimeAdded < NOW() - INTERVAL 8 HOUR ; 
+0

谢谢!我仍然开始学习好编码:) – JudeJitsu 2012-07-12 07:48:28

+2

+1在你的查询中实现了8小时:) – Madhivanan 2012-07-12 07:55:02

1

如果你刚刚需要DIFF日期使用 DATEDIFF(NOW(),列)

,如果你需要的时差使用 TIMEDIFF(NOW(),列)

+0

谢谢。所以意思是'SELECT * FROM order WHERE TIMEDIFF(NOW(),dateTimeAdded)<= 8;'应该给我8小时或更少的行吗? – JudeJitsu 2012-07-12 07:58:12