2017-09-28 2 views
0

Je souhaite sélectionner toutes les lignes entre start_time et end_time. J'ai actuellement cette requête. Il fonctionne très bien, mais certains dossiers sont toujours présents même si elle ne relève pas de la plage de temps indiquée:MYSQL - Sélectionnez entre plage de temps

Structure:

enter image description here

Requête:

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

Sortie:

enter image description here

Ce qui semble être le problème les gars?

+0

essayer 'WHERE'start_time'> = '08: 00: 00' et' end_time' <= 09: 00: 00' ; ' –

+0

ce qui est de type de données start_time colonne et heure_fin –

+0

temps - désolé pour ne pas l'indiquer –

Répondre

0

Essayez ceci:

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 est toujours là. :( –

+0

@JohnAnthony, a édité la réponse – OutOfMind

0

trouvé un moyen d'éliminer le temps non désiré. Je ne sais pas si c'est une façon efficace de le faire mais comme ça fait ce que je voulais, je pense que tout va bien.

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

Il travaille ???????? – iamsankalp89

+0

Oui, il fait.Il fait ce que je voulais –

+0

Ok super, donc accepter comme réponse – iamsankalp89