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

Откуда: Запорожье
Сообщений: 54269
тип time, больше 24 часов - насколько я понял, не поддерживается, сутки обрезаются
использовать DateTime?
что-то такого вида?
select dateadd(hour, 25, cast('' as datetime))
нужна возможность учета большого количества часов - например, время просрочки в часах, и в экселе показать, и среднее посчитать в сводной
10 апр 17, 15:23    [20385417]     Ответить | Цитировать Сообщить модератору
 Re: тип time, больше 24 часов  [new]
Adony
Member

Откуда: Москва
Сообщений: 1083
int позволит много больше, чем 24
10 апр 17, 15:25    [20385434]     Ответить | Цитировать Сообщить модератору
 Re: тип time, больше 24 часов  [new]
sql_user2
Member

Откуда:
Сообщений: 382
Adony
int позволит много больше, чем 24


для надежности лучше bigint
10 апр 17, 15:29    [20385449]     Ответить | Цитировать Сообщить модератору
 Re: тип time, больше 24 часов  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54269
а как его красиво в сводняке отобразить?
10 апр 17, 15:31    [20385462]     Ответить | Цитировать Сообщить модератору
 Re: тип time, больше 24 часов  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31431
andreymx
тип time, больше 24 часов - насколько я понял, не поддерживается, сутки обрезаются
использовать DateTime?
А что нужно?
Можно хранить время в минутах, а потом отображать в том виде, в котором нужно.
Отображать в виде часы-минуты будет просто, делите на 60.
Ну а если формат будет века-годы-месяцы-недели-дни-часы-минуты, то нужно повозиться чуть больше.
10 апр 17, 15:38    [20385516]     Ответить | Цитировать Сообщить модератору
 Re: тип time, больше 24 часов  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54269
alexeyvg
andreymx
тип time, больше 24 часов - насколько я понял, не поддерживается, сутки обрезаются
использовать DateTime?
А что нужно?
Можно хранить время в минутах, а потом отображать в том виде, в котором нужно.
Отображать в виде часы-минуты будет просто, делите на 60.
Ну а если формат будет века-годы-месяцы-недели-дни-часы-минуты, то нужно повозиться чуть больше.
часы-минуты-секунды надо в сводняке отобразить
10 апр 17, 15:49    [20385598]     Ответить | Цитировать Сообщить модератору
 Re: тип time, больше 24 часов  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
andreymx
а как его красиво в сводняке отобразить?
Написать ф-цию, кот. вернет ХХдней ХХч ХХмин ХХсек.
10 апр 17, 15:50    [20385607]     Ответить | Цитировать Сообщить модератору
 Re: тип time, больше 24 часов  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54269
LSV
andreymx
а как его красиво в сводняке отобразить?
Написать ф-цию, кот. вернет ХХдней ХХч ХХмин ХХсек.
подскажи
чел будет двигать колонки туда-сюда

можно ли:
1. свою функцию формата на ячейку натравить?
2. чтобы при выделении трех ячеек отображалась сумма и среднее?
10 апр 17, 15:53    [20385620]     Ответить | Цитировать Сообщить модератору
 Re: тип time, больше 24 часов  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54269
решил так - выгружаю секунды, делю на 86400, выставляю формат ячейки Selection.NumberFormat = "[h]:mm:ss;@"

вроде пока нормально
10 апр 17, 16:12    [20385754]     Ответить | Цитировать Сообщить модератору
 Re: тип time, больше 24 часов  [new]
Dmitry V. Liseev
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 5489
andreymx
LSV
пропущено...
Написать ф-цию, кот. вернет ХХдней ХХч ХХмин ХХсек.
подскажи
чел будет двигать колонки туда-сюда

можно ли:
1. свою функцию формата на ячейку натравить?
2. чтобы при выделении трех ячеек отображалась сумма и среднее?
Смотря, что использовать для отображения. Excell, например, хранит время в сутках и долях суток. Т.е. 0,25 это для него 6 часов, а 1,0 = 24 часа.
10 апр 17, 16:21    [20385801]     Ответить | Цитировать Сообщить модератору
 Re: тип time, больше 24 часов  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
andreymx
можно ли:
1. свою функцию формата на ячейку натравить?
2. чтобы при выделении трех ячеек отображалась сумма и среднее?
1. Вычисляемое поле (строка для отображения).
2. Можно суммировать секунды и результат пересчитать по алгоритму из п.1.

Правда возможны разного рода неудобства в реализации... :)
11 апр 17, 09:28    [20387707]     Ответить | Цитировать Сообщить модератору
 Re: тип time, больше 24 часов  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54269
получаю разницу дат в виде числа, выставляю формат ячейки Selection.NumberFormat = "[h]:mm:ss;@"
всё работает, даже в сводной
11 апр 17, 14:17    [20389437]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить