Je veux récupérer les enregistrements des 30 dernières minutes dans une table. Comment faire ? Voici ma requête
select * from
[Janus999DB].[dbo].[tblCustomerPlay]
where DatePlayed < CURRENT_TIMESTAMP
and DatePlayed >
(CURRENT_TIMESTAMP-30)
Je veux récupérer les enregistrements des 30 dernières minutes dans une table. Comment faire ? Voici ma requête
select * from
[Janus999DB].[dbo].[tblCustomerPlay]
where DatePlayed < CURRENT_TIMESTAMP
and DatePlayed >
(CURRENT_TIMESTAMP-30)
Changez ceci (CURRENT_TIMESTAMP-30)
A ça : DateADD(mi, -30, Current_TimeStamp)
Pour obtenir la date actuelle, utilisez GetDate().
Lien MSDN vers la fonction DateAdd
Lien MSDN vers la fonction Get Date
Rappelez-vous que CURRENT_TIMESTAMP - (nombre) fonctionne bien, mais que vous devez comprendre quel nombre il recherche - c'est un nombre de jours à virgule flottante. Ainsi, CURRENT_TIMESTAMP-1.0 correspond à 1 jour, CURRENT_TIMESTAMP-0.5 correspond à 1/2 jour. Pour 30 minutes, c'est 1.0/48.0 (utilisez le radix pour que le résultat soit un nombre à virgule flottante) ou 0.0208333333333333, donc votre requête fonctionnera si elle est réécrite comme suit
select * from
[Janus999DB].[dbo].[tblCustomerPlay]
where DatePlayed < CURRENT_TIMESTAMP
and DatePlayed >
CURRENT_TIMESTAMP-1.0/48.0
Vous pouvez également utiliser 1.0/24.0/2.0 si cela ressemble plus à une demi-heure pour vous.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.