Afficher un résultat en fonction de l'heure courrante
Rizvane
-
21 nov. 2012 à 11:38
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 2016
-
21 nov. 2012 à 20:31
Bonjour à tous,
Je me posais la question sur la syntaxe d'une requête "simple" :
Je souhaite faire retourner par ma requête un résultat qui englobe une heure précise.
Explications :
Je peux créer des messages qui seront affichés sur une plage horaire determinée (Msg1 : de 10h30 à 12h, Msg2 : de 12h00 à 14h)
Il est 11h40 donc ma requête doit me renvoyé Msg1 (car 11h40 est compris entre 10h30 et 12h). Là où je sèche, c'est justement de rédiger ce filtre en SQL..
Merci d'avance pour votre aide !
A voir également:
Afficher un résultat en fonction de l'heure courrante
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 21 nov. 2012 à 20:31
Salut,
si j'assume qu'on parle transac-sql (SqlServer)
/* Stocke les messages selon leurs plages horaires */
DECLARE @MSG table
(
_msg varchar(500),
_heureDeb datetime,
_heureFin datetime
);
/* Exemple */
INSERT INTO @MSG VALUES('plage entre 08:00 et 10H30', '08:00', '10:30');
INSERT INTO @MSG VALUES('plage entre 10:31 et 12H00', '10:31', '12:00');
INSERT INTO @MSG VALUES('plage entre 12:01 et 23H59', '12:01', '23:59');
/* Le message selon l'heure du serveur */
SELECT _msg FROM @MSG
WHERE getdate() between (convert(varchar,getdate(),103)+' '+_heureDeb) and (convert(varchar,getdate(),103)+' '+_heureFin)