rws*_*907 5 mysql sql datetime date where
我有一个名为"actions"的表,其中包含一个名为"occurrence"的DATETIME列.我正在尝试通过执行以下操作返回今天的记录
SELECT * FROM `actions` WHERE `occurred` = DATE(NOW());
Run Code Online (Sandbox Code Playgroud)
但我得到一个空的结果集.如果我把这个WHERE条款拿出来,我可以看到表格中的所有295行,并且今天至少有30行.稍后我将编写另一个查询来返回今天的日期和过去的X天数之间的所有记录,但在我到达那里之前,我需要知道为什么这个查询返回一个空的结果集.
提前致谢.
SELECT * FROM actions WHERE DATE(ocurred) = CURDATE();
Run Code Online (Sandbox Code Playgroud)
DATE(ocurred) 忽略了时间部分.
以下是使用数据的SQL小提琴:http://www.sqlfiddle.com/#!2/81708/2
如果将来没有日期occurred,您可以使用以下方法:
SELECT * FROM `actions` WHERE `occurred` > DATE_SUB(CURDATE(), INTERVAL 1 DAY);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9514 次 |
| 最近记录: |