我有以下 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/