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

Откуда:
Сообщений: 162
Здравствуйте!

Есть, например 12859 сек.
Как это число разбить на дни-часы-минуты-секунды?

Из разницы двух дат могу получить, значение, а вот как из секунд - тупик!
7 мар 12, 12:14    [12208942]     Ответить | Цитировать Сообщить модератору
 Re: Как преобразовать ХХХ секунд в дни-часы-минуты-секунды?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
/
7 мар 12, 12:15    [12208950]     Ответить | Цитировать Сообщить модератору
 Re: Как преобразовать ХХХ секунд в дни-часы-минуты-секунды?  [new]
Crimean
Member

Откуда:
Сообщений: 13147
select dateadd( second, 12859 , '' )
7 мар 12, 12:15    [12208955]     Ответить | Цитировать Сообщить модератору
 Re: Как преобразовать ХХХ секунд в дни-часы-минуты-секунды?  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
DECLARE @s INT=12859;
SELECT [days]=@s/3600/24, [hours]=@s/3600%24, [minutes]=@s/60%60, [second]=@s%60;
7 мар 12, 12:21    [12209003]     Ответить | Цитировать Сообщить модератору
 Re: Как преобразовать ХХХ секунд в дни-часы-минуты-секунды?  [new]
DKey
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 15574
iap
DECLARE @s INT=12859;
SELECT [days]=@s/3600/24, [hours]=@s/3600%24, [minutes]=@s/60%60, [second]=@s%60;


В 2005 вообще не выполнилось ибо сказало низзя дать значение по дефолту пришлось переписать
7 мар 12, 14:15    [12210109]     Ответить | Цитировать Сообщить модератору
 Re: Как преобразовать ХХХ секунд в дни-часы-минуты-секунды?  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
DKey
iap
DECLARE @s INT=12859;
SELECT [days]=@s/3600/24, [hours]=@s/3600%24, [minutes]=@s/60%60, [second]=@s%60;


В 2005 вообще не выполнилось ибо сказало низзя дать значение по дефолту пришлось переписать
Ну это же пример!
Делайте так:
DECLARE @s INT;
SET @s=12859;
SELECT [days]=@s/3600/24, [hours]=@s/3600%24, [minutes]=@s/60%60, [second]=@s%60;
Разве именно это так важно?
Тем более автор не озаботился хотя бы каким-нибудь скриптом, да и версию скрыл.
7 мар 12, 14:29    [12210266]     Ответить | Цитировать Сообщить модератору
 Re: Как преобразовать ХХХ секунд в дни-часы-минуты-секунды?  [new]
Crimean
Member

Откуда:
Сообщений: 13147
select
datepart( hour , dateadd( second, 12859 , '' )) as Hours,
datepart( minute, dateadd( second, 12859 , '' )) as Minutes,
datepart( second, dateadd( second, 12859 , '' )) as Seconds
7 мар 12, 14:31    [12210287]     Ответить | Цитировать Сообщить модератору
 Re: Как преобразовать ХХХ секунд в дни-часы-минуты-секунды?  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Crimean
select
datepart( hour , dateadd( second, 12859 , '' )) as Hours,
datepart( minute, dateadd( second, 12859 , '' )) as Minutes,
datepart( second, dateadd( second, 12859 , '' )) as Seconds
А дни?
Которых может быть >31
7 мар 12, 14:44    [12210399]     Ответить | Цитировать Сообщить модератору
 Re: Как преобразовать ХХХ секунд в дни-часы-минуты-секунды?  [new]
Crimean
Member

Откуда:
Сообщений: 13147
iap
А дни?
Которых может быть >31


не может. месяцы пойдут. а дальше - годы
7 мар 12, 14:47    [12210421]     Ответить | Цитировать Сообщить модератору
 Re: Как преобразовать ХХХ секунд в дни-часы-минуты-секунды?  [new]
Crimean
Member

Откуда:
Сообщений: 13147
но с частями датами надо уже так:

select datepart( year, dateadd( second, 12859 , '' )) - datepart( year, '' ) as Years
7 мар 12, 14:49    [12210436]     Ответить | Цитировать Сообщить модератору
 Re: Как преобразовать ХХХ секунд в дни-часы-минуты-секунды?  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Crimean
но с частями датами надо уже так:

select datepart( year, dateadd( second, 12859 , '' )) - datepart( year, '' ) as Years
C месяцами-годами уже сложнее, поскольку длина этих периодов непостоянна.
Rusich2012 же говорил про дни...
7 мар 12, 14:51    [12210460]     Ответить | Цитировать Сообщить модератору
 Re: Как преобразовать ХХХ секунд в дни-часы-минуты-секунды?  [new]
Crimean
Member

Откуда:
Сообщений: 13147
тогда так?

select datediff( day, '', dateadd( second, 86399, '' ))
select datediff( day, '', dateadd( second, 86400, '' ))
select datediff( day, '', dateadd( second, 864001, '' ))
7 мар 12, 15:00    [12210537]     Ответить | Цитировать Сообщить модератору
 Re: Как преобразовать ХХХ секунд в дни-часы-минуты-секунды?  [new]
Rusich2012
Member

Откуда:
Сообщений: 162
Ребятки, спасибо! Помогли! :)
7 мар 12, 15:19    [12210667]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить