首页 > 解决方案 > 我的 mysql 查询返回了错误的数据

问题描述

SELECT * FROM gbtss.weighing where indate between '04/02/2019' and '04/08/2019';

我想检索这两个日期之间的数据数据,但是上面的命令在 mysql workbench 中不起作用。

标签: mysql

解决方案


使用有效的 MySQL 日期文字:

SELECT *
FROM gbtss.weighing
WHERE indate BETWEEN '2019-02-04' AND '2019-08-04';

我在这里假设这04/08/2018意味着 2018 年 8 月 4 日。如果它表示 2018 年 4 月中的任何一个,那么请'2019-04-08'改用。

有关有效的日期文字格式,请参阅 MySQL文档

如果您实际上将纯文本存储到indate,那么您还必须执行调用STR_TO_DATE该列的附加步骤:

SELECT *
FROM gbtss.weighing
WHERE STR_TO_DATE(indate, '%d/%M/%Y') BETWEEN '2019-02-04' AND '2019-08-04';

推荐阅读