Je veux récupérer des enregistrements pour les 30 dernières minutes dans un tableau. Comment faire ça? Ci-dessous ma requête ..
select * from
[Janus999DB].[dbo].[tblCustomerPlay]
where DatePlayed < CURRENT_TIMESTAMP
and DatePlayed >
(CURRENT_TIMESTAMP-30)
Changer ce (CURRENT_TIMESTAMP-30)
À ceci: 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
Utilisation:
SELECT *
FROM [Janus999DB].[dbo].[tblCustomerPlay]
WHERE DatePlayed < GetDate()
AND DatePlayed > dateadd(minute, -30, GetDate())
SQL Server utilise des dates en julien pour que vos 30 signifie "30 jours calendaires". getdate () - 0.02083 signifie "il y a 30 minutes".
DATEADD
n'a retourné que Function does not exist
sur MySQL 5.5.53 (je sais que c'est vieux)
Au lieu de cela, j'ai trouvé DatePlayed > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL 30 minute)
pour produire le résultat souhaité