1

我遇到了仅在我们的MySQL 5.1系统上发生的问题。它在MySql 5.6.

我有一个有两DateTime列(“ start”和“ end”)的表。我想选择日期在这两列之间或相同的所有行。基本上是这样的:row.start <= MY_DATE_TIME <= row.end

但是当我执行这个...

select * from alerts a
where a.start <= "2019-11-08 00:00:00"
and a.end >= "2019-11-08 00:00:00"

...我还得到一行,其中 a.start 是“2019-10-10 07:40:00”,a.end 是“2019-11-20 23:55:00”。我给定的日期显然超出了该范围,所以我做错了什么?

我也这样尝试过,结果相同:

select * from alerts a
where STR_TO_DATE("2019-11-08 00:00:00", '%Y-%m-%D %T') between a.start and a.end

有任何想法吗?

4

0 回答 0