Как получить общее количество часов между двумя датами в SQL-сервере?

Рассмотрите две даты 2010-03-18 22:30:45 и 2010-03-19 03:30:15 .... Как получить число часов и минут, промежуточных эти две даты в SQL-сервере.....

16
задан S.L. Barth - Reinstate Monica 24 July 2012 в 14:17
поделиться

2 ответа

@codeka ответила, указав часы (из вашего заголовка), но в теле вашего вопроса вы задали часы и минуты, так что вот один способ

 select DATEDIFF(hh, @date1, @date2) as Hours_Difference,   
    DATEDIFF(mi,DATEADD(hh,DATEDIFF(hh, @date1, @date2),@date1),@date2) as Minutes_Difference

То, что он делает в первой части, - это то, что показал @codeka. Это дает вам разницу между двумя датами в фактических полных часах. Второй член в sql дает дату в минутах между (первая дата + прошедшие часы) и второй датой.Вы должны исключить часы из уравнения в части минут, иначе вы получите фактические минуты между датами. Datediff и его разрешенные идентификаторы Datepart можно найти здесь:
http://msdn.microsoft.com/en-us/library/ms189794.aspx

16
ответ дан 30 November 2019 в 22:17
поделиться

Вам нужна функция DATEDIFF:

SELECT DATEDIFF(hh, @date1, @date2)
4
ответ дан 30 November 2019 в 22:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: