MySQL空结果集日期(字段)=
此查询没有结果,也没有错误。Bar是数据类型DATETIMEMySQL空结果集日期(字段)=,mysql,date,datetime,Mysql,Date,Datetime,此查询没有结果,也没有错误。Bar是数据类型DATETIME SELECT * FROM foo WHERE DATE(bar) = '2013-02-26'; 此查询: SELECT COUNT(*),DATE(bar) FROM foo GROUP BY DATE(bar) ORDER BY DATE(bar) DESC; 产生以下结果: 我做错了什么 //编辑 出于某种原因,这是预期的效果 SELECT * FROM foo WHERE DATE_FORMAT(bar,'%Y-%m-
SELECT * FROM foo WHERE DATE(bar) = '2013-02-26';
此查询:
SELECT COUNT(*),DATE(bar) FROM foo GROUP BY DATE(bar) ORDER BY DATE(bar) DESC;
产生以下结果:
我做错了什么
//编辑
出于某种原因,这是预期的效果
SELECT * FROM foo WHERE DATE_FORMAT(bar,'%Y-%m-%d') = "2013-02-26"
你发布的查询没有错。对于该查询返回0行的原因没有简单的解释 为了帮助调试此问题,我建议您查看此查询是否返回行:
SELECT bar
FROM foo
WHERE DATE(bar) = '2013-02-26'
LIMIT 10
还是这个
SELECT bar
FROM foo
WHERE bar >= '2013-02-26'
AND bar < '2013-02-26' + INTERVAL 1 DAY
LIMIT 10
不确定,对我有用-@sgeddes:date字段不同于datetime字段,但它有两种工作方式:@RocketHazmat-是的,我知道-只是写得太快了:D但无论哪种方式,OPs查询都应该有效。谢谢各位。我以为我疯了。如果我找到了一个解决方案或解释,我会发布它。刚刚发现它按预期工作:从foo WHERE DATE_FORMATbar中选择*,%Y-%m-%d'=2013-02-26第一个查询返回零结果。第二个查询生成10行2013-02-26 17:56:22,这是这些行中的bar字段中的正确值。@jerrygarciuh:尝试将DATEbar表达式添加到选择列表中,并查看它返回的内容。我分别得到所有行的2013-02-26 17:56:22和2013-02-26。你看到我上面关于成功使用日期格式的编辑了吗?
SELECT DATE(bar)
, bar
FROM foo
WHERE bar >= '2013-02-26'
AND bar < '2013-02-26' + INTERVAL 1 DAY
LIMIT 10