例如,MySQL NOW()
返回2013-01-09 12:20:06
,因此我需要计算下面指定的所有行。
当前
NOW()
NOW()
NOW()
上
我尝试过类似的事情:
WHERE
`date` >= DATE_FORMAT(NOW(), '%Y-%m-%d %h:00:00')
AND `date` >= DATE_SUB(
DATE_FORMAT(NOW(), '%Y-%m-%d %h:00:00'),
INTERVAL 10 MONTH
)
但是可能有更方便的方法吗?
答案 0 :(得分:0)
试试这个:
对于CURRENT:
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00');
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00');
SELECT DATE_FORMAT(NOW(), '%Y-%m-01 00:00:00');
对于PREVIOUS:
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00'), DATE_SUB(DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00'), INTERVAL 1 HOUR);
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00'), DATE_SUB(DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00'), INTERVAL 1 DAY);
SELECT DATE_FORMAT(NOW(), '%Y-%m-01 00:00:00'), DATE_SUB(DATE_FORMAT(NOW(), '%Y-%m-01 00:00:00'), INTERVAL 1 MONTH);
点击此链接SQL FIDDLE DEMO