mysql - SQL 查询未基于 BETWEEN 条件运行

标签 mysql database mysql-5.5

我有以下 SQL 查询:

SELECT Count(*)

FROM   MyDB.mytable

WHERE date_dt BETWEEN '2013-12-09 00:00:00' AND '2013-12-09 23:59:59'

;

当我运行上述查询时,我得到表中显示的结果记录的计数。由于某种原因,它忽略了我包含的 BETWEEN 条件。最终,我必须使用 DELETE 而不是 SELECT,并且我会执行如下操作:

DELETE  FROM MyDB.mytable
WHERE date_dt BETWEEN '2013-12-09 00:00:00' AND '2014-12-09 23:59:59'
;

如果我使用DELETE,我会意外地删除表中的所有记录。请让我知道我做错了什么。

最佳答案

您似乎正在尝试获取单日 (2014-12-09) 的记录,但您的代码显示过去 366 天的记录。也许我错了,但它看起来像你想要的:

 DELETE  FROM MyDB.mytable
  WHERE date_dt BETWEEN '2014-12-09 00:00:00' AND '2014-12-09 23:59:59'
  ;

否则我看不出您的查询有什么问题。

关于mysql - SQL 查询未基于 BETWEEN 条件运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24729048/

相关文章:

mysql - 数据库如何循环行?

mysql - Sql 查询 对于我的案例

MySQL LIKE Query 5.1到5.6改成全表扫描

mysql - 为 InnoDB 配置 MySQL

java - 我可以为我的网站之一使用 C3PO/DBCP 连接池吗

mysql - MySQL在Y类型最新插入数据之前查询X类型最新插入数据

mysql - INET_NTOA 的工作

mysql - 关于重复 key 更新 - 需要帮助

mysql - 嵌套查询的性能

mysql - 如何比较两列的重复值?