2010-01-06 5 views
0

J'ai un tableau avec les mesures et le temps que ces mesures ont été prises sous la forme suivante: MM/JJ/AAAA HH: MI: SS AM. J'ai des mesures sur plusieurs jours commençant à la même heure tous les jours. Les données sont minute par minute donc fondamentalement les secondes sont toujours = 0. Je veux sélectionner seulement les mesures pour les 5 premières minutes de chaque jour. J'aurais utilisé la déclaration where, mais la condition ne serait que sur les minutes et noter la date est-il un moyen de le faire? MerciSQL simple sélection des rangées en fonction de leur temps

+2

iracema, vous devriez certainement revenir en arrière et revoir les réponses à vos questions. Celui-ci par exemple: http://stackoverflow.com/questions/1940579/sql-inner-join-on-select-statements De vos commentaires il semble que la solution a fonctionné pour vous mais vous ne l'avez jamais vérifié comme solution. Tout ce que vous avez à faire est de cliquer sur la coche grise pour accepter la réponse. –

Répondre

0

Vous pouvez essayer quelque chose comme ceci:

SELECT * FROM SomeTable 
WHERE 
DATEPART(hh, timestamp_col) = 0 AND -- filter for first hour of the day 
DATEPART(mm, timestamp_col) <= 5 -- filter for the first five minutes 

Attention! 0 signifie minuit. Si votre "première heure" de la journée est en fait 8 ou 9 heures, vous devez remplacer le 0 par un 8 ou 9.

Questions connexes