2016-03-07 2 views
0

Этот вопрос задан много раз, но я не могу найти простых ответов на вопрос, как получить часы и минуты от datediff().DateDiff() Часы и минуты?

From To OUTPUT 
08:00 16:30 8,5 
10:00 16:30 6,5 
08:00 15:00 7 

Я хотел бы использовать datediff() и хотите выход, как мой результат

+0

Как хранятся ваши данные? – sagi

+0

Я хочу датифик (часы и минуты, от, до) как OUTPUT – Nils

+0

Как от и до хранения? – sagi

ответ

0

Я пошел с

DATEDIFF(second, start_date, end_date)/3600.0   

Спасибо все для ответов ... !!.

1

Извините, я ответил C# вопрос первый :)

Что вы после этого:

SELECT datediff(minute, starttime, endtime) from ... 

, конечно же, вы можете применить это и к часам. течение нескольких часов и минут, вы можете использовать этот пример:

DECLARE @start datetime 
     , @end datetime 

SELECT @start = '2009-01-01' 
    , @end = DateAdd(mi, 52, DateAdd(hh, 18, DateAdd(dd, 2, @start))) 

SELECT @start 
, @end 

SELECT DateDiff(dd, @start, @end)  As days 
    , DateDiff(hh, @start, @end) % 24 As hours 
    , DateDiff(mi, @start, @end) % 60 As mins 
+0

Привет, я не хочу, чтобы они были как 2 или 3 разных столбца. можете ли вы предоставить выходной столбец для меня? – Nils

+0

Просто замените запятую на + '' –

+1

, что приведет к арифметическому добавлению. вам нужно сначала преобразовать в строку перед использованием + – Squirrel

0

просто взять DATEDIFF() на минуту, а затем разделить на 60

select datediff(minute, '08:00', '16:30')/60.0