2012-01-18 3 views
0

У меня есть лист Excel и эта формула приведена ниже. Я хотел бы вычислить ту же формулу с sql. Результат будет вторым.Расчет времени и времени Sql

Спасибо, формула

declare @t1 AS datetime 
declare @t2 AS datetime 
declare @t3 AS datetime 
declare @t4 AS datetime 

set @t1 = '2011-11-04 00:00:00.000' --start date 
set @t2 = '2012-01-16 18:21:55.000' --start time 
set @t3 = '2011-11-10 00:00:00.000' --end date 
set @t4 = '2012-01-16 12:10:00.000' --end time 

Excel

((end date-start date-1)+(end time-(0,375)))*24*60*60 

0.375 значение означает 9 час

формула результат будет = 443400 второй

+1

Что вы RDBMS? –

+3

Если вы отправляете код, XML или образцы данных, ** PLEASE ** выделите эти строки в текстовом редакторе и нажмите кнопку «образцы кода» ('{}') на панели инструментов редактора, чтобы красиво отформатировать и выделить синтаксис! (нет необходимости заканчивать каждую строку '
' ...) –

+0

RDBMS, MSSQL 2008 – qods

ответ

3

Вы сказали, что вы не используете Start Время в вашей формуле?

Здесь речь идет о:

declare @t1 AS datetime 
declare @t2 AS datetime 
declare @t3 AS datetime 
declare @t4 AS datetime 

set @t1 = '2011-11-04 00:00:00.000' --start date 
set @t2 = '2012-01-16 18:21:55.000' --start time 
set @t3 = '2011-11-10 00:00:00.000' --end date 
set @t4 = '2012-01-16 12:10:00.000' --end time 

SELECT CAST((DATEDIFF(d, @t1, @t3)-1 + (CAST(@t4 AS FLOAT) - FLOOR(CAST(@t4 AS FLOAT)) - 0.375))*24*60*60 AS INT) 
+0

Спасибо, Олег, знаете ли вы какой-либо веб-сайт о расчете даты в sql для занятий? – qods

+0

Google Sql Server Books Online –

Смежные вопросы