DATE(字段)上的 MySQL 空结果集 =

标签 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;

产生以下结果:

results

我做错了什么?

//编辑 由于某种原因,这按预期工作......

 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

(注意:后一个查询可以利用索引范围扫描操作,该操作使用以 bar 为前导列的索引;对于其他查询形式(包装 bar DATE 函数中的 code> 列,MySQL 无法使用索引范围扫描。)

后续:

接下来,通过将该表达式添加到 SELECT 列表来检查 DATE(bar) 返回的值...

SELECT DATE(bar)
     , bar
  FROM foo
 WHERE bar >= '2013-02-26'
   AND bar  < '2013-02-26' + INTERVAL 1 DAY
 LIMIT 10

关于DATE(字段)上的 MySQL 空结果集 =,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15120060/

相关文章:

mysql - 备份和恢复 MySQL 数据库的 SQL 命令

php - 在php中检查带有空格的函数

java - 无法在java中的数据库中保存日历数据

javascript - 更改 JavaScript 中的日期格式?

Bash:显示带日期的纳秒

python - 使用 resample 为 pandas 数据框中的不同列聚合具有不同规则的数据

mysql - CakePHP 查找分组依据不在生成的查询中

PHP -MYSQL : Will the database import more than 40, 000 行?

python - 我的代码的第 102 行总是出错

python - 从 pandas 日期时间列中提取唯一的每月周期