Sql дата-время расчета - PullRequest
       4

Sql дата-время расчета

0 голосов
/ 18 января 2012

У меня есть лист Excel и эта формула ниже. Я хотел бы рассчитать ту же формулу с 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 Ответ

3 голосов
/ 18 января 2012

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

Вот оно:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...