Comparaison time heure

Comparaison time heure - SQL/NoSQL - Programmation

Marsh Posté le 07-04-2011 à 11:43:52    

Salut.
Je suis confronte a un petit souci dans ma requete SQL.
J'aimerais savoir si l;heure actuelle se trouve entre deux balises representees par deux variables de type TIME en MySQL.
 
alors j'ai fait ca : SELECT 1 FROM toto WHERE CURTIME()  BETWEEN start AND end WHERE id=1
 
Alors ca marche tres bien si par exemple on a une periode entre 8h du mat et 8h du soir par exemple, mais si je veux une periode entre 8h du soir et 8h du mat, le between forcement ne fonctionne plus.
 
Comment faire la comparaison de temps dans ce cas la ?

Reply

Marsh Posté le 07-04-2011 à 11:43:52   

Reply

Marsh Posté le 07-04-2011 à 11:46:17    

selectionne les enregistrements qui sont (entre  0h00 et 8h00 ) ou ( entre 20h00 et23h59)


---------------

Reply

Marsh Posté le 07-04-2011 à 11:54:45    

Tu peux aussi le faire en deux fois.
Where CURTIME() >= start And CURTIME() <= end

Reply

Marsh Posté le 07-04-2011 à 12:06:02    

flo850 a écrit :

selectionne les enregistrements qui sont (entre  0h00 et 8h00 ) ou ( entre 20h00 et23h59)


Oui j'y avais pense mais il faudrait que je fasse une espece de IF avant pour voir si ma borne de fin est plus petit que celle de depart, et je ne sais pas faire de IF en SQL  :whistle:

Reply

Marsh Posté le 07-04-2011 à 12:06:35    

Oliiii a écrit :

Tu peux aussi le faire en deux fois.
Where CURTIME() >= start And CURTIME() <= end


Ca ne va pas ca , c'est exactement le comportement du BETWEEN

Reply

Marsh Posté le 07-04-2011 à 12:26:18    

guynemer a écrit :


Oui j'y avais pense mais il faudrait que je fasse une espece de IF avant pour voir si ma borne de fin est plus petit que celle de depart, et je ne sais pas faire de IF en SQL  :whistle:


case when est ton ami


---------------

Reply

Marsh Posté le 07-04-2011 à 12:54:54    

Je comprends pas pourquoi tu dis que le between marche plus pour le 2ième cas : suffit juste de passer les données en timestamp ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 07-04-2011 à 14:10:53    

J'ai pas utilise CASE mais ca m'a permis de trouver une solution, merci :)

Reply

Marsh Posté le 07-04-2011 à 14:11:30    

timestamp implique une date, or je n'avais qu'une heure

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed