2010-03-04 11 views
2

J'utilise actuellement une instruction select avec une colonne comme DATEPART(hh, CallTime) AS Hour puis faire:Sql par heure à partir de midi

GROUP BY DATEPART(hh, CallTime) 
ORDER BY Hour 

Cela affiche les heures à partir de minuit et aller jusqu'à minuit - comment pourrais-je aller à propos d'avoir cela aller de midi à midi? Merci!

Répondre

3

CASE WHEN (DATEPART(hh, CallTime) >=12) THEN DATEPART(hh, CallTime) - 12 ELSE DATEPART(hh, CallTime)+12 END AS hour_since_noon devrait le faire si j'ai bien compris votre question.

Vous pouvez avoir 2 champs séparés, votre original pour afficher réellement et celui-ci à l'ordre

+0

qui donne les heures dans le format correct, mais ils sont alors encore triés du plus bas au plus élevé qui se traduit par les toujours être de minuit à minuit – BarrettJ

+0

Mise à jour maintenant que j'ai eu ce que vous essayiez de faire – DVK

+0

Merci, fonctionne parfaitement! – BarrettJ