比较 MariaDB 和 MySQL 中的日期差异

Difference comparing dates in MariaDB and MySQL

我有两台服务器使用具有相似数据的相同应用程序。该应用正在尝试启动查询以检索某些记录,使用某些日期作为条件。

假设我们有这个数据:

ID start_date
1 2021-07-14
2 2021-07-15

然后我们在每个系统中尝试这个查询。

系统 A - 10.1.48-MariaDB-0+deb9u2:

SELECT * FROM table WHERE start_date >= '2021-07-14 00:00:00' AND start_date < '2021-07-14 24:00:00'

它没有return任何东西

系统 B - MySQL 社区服务器 (GPL) 5.7.32:

SELECT * FROM table WHERE start_date >= '2021-07-14 00:00:00' AND start_date < '2021-07-14 24:00:00'

它returns:

ID start_date
1 2021-07-14

我也试过删除时间“00:00:00”,但行为相同。

我想会有一个我可以更改的配置全局变量,因此它具有相同的结果。

如果可能,我不想更改查询。

有什么想法吗?

提前致谢

您应该更改查询。您建议“2021-07-14 24:00:00”和“2021-07-15 00:00:00”代表相同的值。 尝试改用它:

SELECT * FROM table WHERE start_date >= '2021-07-14 00:00:00' AND start_date <= '2021-07-14 23:59:59'

您还可以减少查询中的文字数量:

SELECT * FROM table WHERE DATE(start_date) = '2021-07-14'