mysql> CREATE TABLE tt(a timestamp, b time, KEY b_idx(b), KEY a_b_idx(a,b)); Query OK, 0 rows affected (0.03 sec) mysql> INSERT INTO tt VALUES('2020-12-01 10:00:00', '02:59:59.000000'); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO tt VALUES('2020-11-01 10:00:00', '03:59:59.000000'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tt VALUES('2020-10-01 10:00:00', '04:59:59.000000'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tt VALUES('2020-09-01 10:00:00', '05:59:59.000000'); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO tt VALUES('2020-08-01 10:00:00', '06:59:59.000000'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tt VALUES('2020-07-01 10:00:00', '07:59:59.000000'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tt VALUES('2020-05-06 10:00:00', '08:59:59.000000'); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO tt VALUES('2020-04-04 10:00:00', '20:59:59.000000'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tt VALUES('2020-03-02 10:00:00', '09:09:59.000000'); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO tt VALUES('2020-02-03 10:00:00', '10:59:59.000000'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tt VALUES('2020-01-01 10:00:00', '23:23:59.000000'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tt VALUES('2020-01-01 10:00:00', '01:59:59.000000'); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO tt VALUES('2020-01-01 00:00:01', '12:00:00.000000'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tt VALUES('2008-10-02 12:20:00', NULL); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tt VALUES('1999-09-02 12:20:00', NULL); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO tt VALUES('1998-09-02 12:20:00', NULL); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tt VALUES('1997-09-02 12:20:00', NULL); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO tt VALUES('1995-09-02 12:20:00', NULL); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tt VALUES('1992-03-04 12:20:00', NULL); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO tt VALUES('1970-01-01 08:00:01', '24:59:59.000000'); Query OK, 1 row affected (0.01 sec) mysql> INSERT INTO tt VALUES('0000-00-00 00:00:00', '00:00:00.000000'); Query OK, 1 row affected (0.01 sec) mysql> SELECT * FROM tt FORCE INDEX(b_idx) WHERE b NOT BETWEEN '06:59:59.000000' AND NULL; +---------------------+----------+ | a | b | +---------------------+----------+ | 0000-00-00 00:00:00 | 00:00:00 | | 2020-01-01 10:00:00 | 01:59:59 | | 2020-12-01 10:00:00 | 02:59:59 | | 2020-11-01 10:00:00 | 03:59:59 | | 2020-10-01 10:00:00 | 04:59:59 | | 2020-09-01 10:00:00 | 05:59:59 | +---------------------+----------+ 6 rows in set (0.00 sec) mysql> SELECT * FROM tt FORCE INDEX(a_b_idx) WHERE b NOT BETWEEN '06:59:59.000000' AND NULL; +---------------------+----------+ | a | b | +---------------------+----------+ | 0000-00-00 00:00:00 | 00:00:00 | | 1970-01-01 08:00:01 | 24:59:59 | | 2020-01-01 00:00:01 | 12:00:00 | | 2020-01-01 10:00:00 | 01:59:59 | | 2020-01-01 10:00:00 | 23:23:59 | | 2020-02-03 10:00:00 | 10:59:59 | | 2020-03-02 10:00:00 | 09:09:59 | | 2020-04-04 10:00:00 | 20:59:59 | | 2020-05-06 10:00:00 | 08:59:59 | | 2020-07-01 10:00:00 | 07:59:59 | | 2020-08-01 10:00:00 | 06:59:59 | | 2020-09-01 10:00:00 | 05:59:59 | | 2020-10-01 10:00:00 | 04:59:59 | | 2020-11-01 10:00:00 | 03:59:59 | | 2020-12-01 10:00:00 | 02:59:59 | +---------------------+----------+ 15 rows in set (0.00 sec) mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.32 | +-----------+ 1 row in set (0.00 sec)