2009-08-06 5 views
4

J'ai deux valeurs de date: 08/6/2009 00:00:00 et 10/6/2009 23:59:59.comment obtenir des heures de soustraction de deux valeurs d'heure de date dans SQL Server 2005

Comment puis-je obtenir la différence en heures dans une requête dans SQL Server 2005?

+0

votre titre est un peu trompeur. Demandez-vous comment calculer une durée en heures en utilisant T-SQL pour SQL Server 2005? – noesgard

+0

Salut, je ne vous comprends pas bien mais si vous voulez obtenir une différence en heures, vous pouvez utiliser DATEDIFF() pour obtenir la différence et obtenir le nombre d'heures, mais obtenir des jours en utilisant DATEPART() et plusieurs fois par jour obtenir comme des heures Best Regads, Iordan – IordanTanev

+0

Puisqu'il semble que MS SQL Server ne supporte pas les types SQL INTERVAL standards, ni aucune approximation, toute solution que je propose basée sur ceux-ci est de valeur limitée. Lorsque les intervalles standard sont supportés, la réponse est plus ou moins triviale: CAST ((d2 - d1) AS INTERVAL HOUR (9)). Vous devrez peut-être tirer d'autres cascades de coulée pour obtenir un nombre simple à la place d'un INTERVAL ... dans un système que j'utilise, cela voudrait dire transtyper en caractère, puis ENTIER. –

Répondre

10
SELECT DATEDIFF(hour, '2009-08-06 00:00:00', '2009-10-06 23:59:59') 

--- 
71 
1
DATEDIFF(HOUR,'08/6/2009 00:00:00','10/6/2009 23:59:59') 
Questions connexes