2010-10-19 3 views
1

Dans une table SQL Server, j'ai un champ DateTime et chaque fois que j'ai un échec de connexion pour un service Web externe, j'écris le DateTime actuel dans la table .Sélectionnez les lignes les plus récentes basées sur un champ DateTime dans les 5 minutes de l'heure actuelle

J'ai actuellement du code qui analyse les retours et détermine s'il y a> 2 échecs dans les 5 minutes. Si oui, j'ai un drapeau pour désactiver l'appel du service Web. Je suis curieux de savoir s'il y a un moyen que je peux utiliser sql pour retourner le nombre de lignes qui sont dans les 5 minutes de l'heure actuelle?

Répondre

7

Cela renverra tous les enregistrements qui sont à moins de cinq minutes vieux:

SELECT [Columns] 
FROM [YourTable] 
WHERE [DateTimeField] >= dateadd(minute, -5, getdate()) 

Vous pouvez obtenir plus d'informations sur DATEADDhere.

2

Vous pouvez essayer cette

SELECT COUNT(*) 
FROM MyTable 
WHERE MyDateTimeField > DATEADD(mm, -5, GETDATE()) 
Questions connexes