2017-09-28 129 views
0

我想要选择start_timeend_time之间的所有行。我目前有这个查询。它工作正常,但一些记录仍然存在,虽然它不是时间指示的范围内:MYSQL - 在时间范围内选择

结构:

enter image description here

查询:

SELECT * FROM `tbl_subloading` 
WHERE`start_time` >= '08:00AM' and `end_time`<= '09:00AM'; 

输出:

enter image description here

什么似乎是问题家伙?

+0

尝试这种'WHERE'start_time'> = '08:00:00' 和'end_time' <= '09:00:00' ;' –

+0

什么是柱START_TIME的数据类型和END_TIME –

+0

时间 - 对不起因为没有指出它 –

回答

0

试试这个:

SELECT * FROM `tbl_subloading` 
WHERE`start_time` between CAST('08:00:00' AS time) and 
CAST('09:00:00' AS time) and `end_time` between 
CAST('08:00:00' AS time) and CAST('09:00:00' AS time); 
+0

12:30还在那里。 :( –

+0

@JohnAnthony,编辑答案 – OutOfMind

0

找到了一种方法,以消除不必要的时间。不知道这是否是一种有效的方式,但是因为它做到了我想要的,所以我觉得这很好。

SELECT * FROM `tbl_subloading` 
WHERE `start_time` BETWEEN '08:00AM' and '09:00PM' 
and `end_time` BETWEEN '08:00AM' and '09:00PM' 
+0

这是工作???????? – iamsankalp89

+0

是的,它的确如此。它做我想要的。 –

+0

好吧,那么接受为答案 – iamsankalp89