Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Корректный перевод числа в нужный формат времени  [new]
lesly
Member

Откуда:
Сообщений: 5
Ребят, добрый день. Нужна помощь. Нигде не смогла найти на форуме подходящий ответ.

Не могу корректно преобразовать количество секунд в формат 00:00:00

Есть две даты 2018-03-18 6:55:08 и 2018-03-19 7:10:08 между ними больше 24 часов, а именно (24:15:00)

Но функция

select CONVERT(varchar,dateadd(second,datediff(second,'2018-03-18 6:55:08','2018-03-19 7:10:08'),cast(0 as datetime)),108);

почему то мне выдает 00:15:00

Прошу пожалуйста, подскажите в чем косяк. Как правильно вывести именно время 24:15:00 ?
20 мар 18, 13:06    [21271156]     Ответить | Цитировать Сообщить модератору
 Re: Корректный перевод числа в нужный формат времени  [new]
Тяп-ляп
Member

Откуда: Москва
Сообщений: 797
Очевидно, потому, что при добавлении к дате 1900-01-01 24 часов 15 минут получается 1900-01-02 00:15:00.
Такого времени: 24:15:00 нет.
Надо самому делать такой формат времени из строк.
20 мар 18, 13:23    [21271221]     Ответить | Цитировать Сообщить модератору
 Re: Корректный перевод числа в нужный формат времени  [new]
iap
Member

Откуда: Москва
Сообщений: 46953
SELECT CASE WHEN DATEDIFF(SECOND,@D1,@D2)<36000 THEN '0' ELSE '' END
      +LTRIM(STR(DATEDIFF(SECOND,@D1,@D2)/3600))
      +RIGHT(CONVERT(VARCHAR,DATEADD(SECOND,DATEDIFF(SECOND,@D1,@D2),0),8),6);
20 мар 18, 13:53    [21271313]     Ответить | Цитировать Сообщить модератору
 Re: Корректный перевод числа в нужный формат времени  [new]
iiyama
Member

Откуда:
Сообщений: 642
lesly,

Declare @D1 DateTime Set @D1 = '20180318 06:55:08'
Declare @D2 DateTime Set @D2 = '20180319 07:10:08'

select  
 FORMAT(ss/(60*60)*10000+ss%(60*60)/60 *100+ss%(60*60)%60,'00:00:00')

from (select datediff(ss,@d1,@d2) ss ) x 
20 мар 18, 14:02    [21271358]     Ответить | Цитировать Сообщить модератору
 Re: Корректный перевод числа в нужный формат времени  [new]
lesly
Member

Откуда:
Сообщений: 5
iiyama,

Спасибо большое. Получилось и пригодилось
20 мар 18, 14:56    [21271634]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить