我需要在 22:00:00 和 02:30:00 之间从 mysql 获取记录

I need to get record from mysql between 22:00:00 AND 02:30:00

我需要从 mysql 获取 22:00:00 和 02:30:00 之间的记录。我有班长table

CREATE TABLE `mas_shift` (
`ShiftId` INT(11) NOT NULL AUTO_INCREMENT,
`ShiftName` VARCHAR(100) NULL DEFAULT NULL,
`From_Time` TIME NULL DEFAULT NULL,
`To_Time` TIME NULL DEFAULT NULL,
`In_From_Time` TIME NULL DEFAULT NULL,
`In_To_Time` TIME NULL DEFAULT NULL,
`Out_From_Time` TIME NULL DEFAULT NULL,
`Out_To_Time` TIME NULL DEFAULT NULL,
`IsActive` INT(1) NULL DEFAULT '1',
`ColorCode` VARCHAR(11) NOT NULL DEFAULT 'NULL',
PRIMARY KEY (`ShiftId`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB;

INSERT INTO `mas_shift` (`ShiftName`, `From_Time`, `To_Time`, `In_From_Time`, `In_To_Time`, `Out_From_Time`, `Out_To_Time`, `IsActive`, `ColorCode`) VALUES ('1st Shift', '08:00:00', '16:00:00', '06:00:00', '11:30:00', '13:00:00', '22:59:00', 1, '#ffee58');
INSERT INTO `mas_shift` (`ShiftName`, `From_Time`, `To_Time`, `In_From_Time`, `In_To_Time`, `Out_From_Time`, `Out_To_Time`, `IsActive`, `ColorCode`) VALUES ('2nd Shift', '16:00:00', '00:00:00', '14:30:00', '20:30:00', '23:00:00', '03:00:00', 1, '#29b6f6 ');
INSERT INTO `mas_shift` (`ShiftName`, `From_Time`, `To_Time`, `In_From_Time`, `In_To_Time`, `Out_From_Time`, `Out_To_Time`, `IsActive`, `ColorCode`) VALUES ('3rd Shift', '00:00:00', '08:00:00', '22:00:00', '02:30:00', '04:00:00', '10:30:00', 1, '#ec407a ');

我需要在 In_From_TimeIn_To_Time 之间获取时间“23:00:00”的 ShiftId

查询:

SELECT * FROM mas_shift as ms WHERE '23:00:00' BETWEEN ms.In_From_Time AND ms.In_To_Time;

对于上述条件,我需要得到ShiftId = 3;但是我得到空行。

提前致谢。

例如2017-01-0123:00:00介于2017-01-0122:00:00和 2017-01-02 02:30:00。但是 23:00:00 不在 22:00:00 和 02:30:00 之间,因为这个时间值属于同一天,从 00:00:00 开始到 24:00:00!
尝试使用 DATETIME or TIMESTAMP data type instead of TIME 或使用经过的时间值。例如,您可以使用 26:30:00 而不是 02:30:00 来获得预期结果。