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

Откуда:
Сообщений: 44
Выручайте)) столкнулся с интересной ситуацией... Пишу

,SUM(CASE WHEN  ess.SUB_STATUS_CODE = 'N203' THEN DATEDIFF(ss, est.START_TIMESTAMP, est.END_TIMESTAMP) ELSE 0 END)   AS 'name'


и в результате получаю секунды с нулем в конце т.е правильно 123 а выдает 1230 при переводе в минуты или делении на 60 происхотит сл. Допустим 20,8 минут выдает как 208

в запросе использую ниже практически идентичные выражения - отрабатывает корректно

Есть идеи?
14 янв 16, 10:02    [18676363]     Ответить | Цитировать Сообщить модератору
 Re: Лишний ноль в при datediff  [new]
Glory
Member

Откуда:
Сообщений: 104751
FastTI
и в результате получаю секунды с нулем в конце т.е правильно 123 а выдает 1230

И почему 123 правильно, а 1230 неправильно ?
14 янв 16, 10:04    [18676370]     Ответить | Цитировать Сообщить модератору
 Re: Лишний ноль в при datediff  [new]
FastTI
Member

Откуда:
Сообщений: 44
ну потому что я отдельно делаю запрос и время фактическое в секундах 123
14 янв 16, 10:05    [18676380]     Ответить | Цитировать Сообщить модератору
 Re: Лишний ноль в при datediff  [new]
Glory
Member

Откуда:
Сообщений: 104751
FastTI
ну потому что я отдельно делаю запрос и время фактическое в секундах 123

И как вы узнаете, что в друх разных запросах в DATEDIFF попадают одни и те же значения ?
14 янв 16, 10:07    [18676385]     Ответить | Цитировать Сообщить модератору
 Re: Лишний ноль в при datediff  [new]
FastTI
Member

Откуда:
Сообщений: 44
Glory, ну у меня есть это выражение в контексте большего запроса, а я делаю выборку более ограниченную, но с теми условиями которые необходимы для получения этих секунд и сравниваю...
14 янв 16, 10:19    [18676440]     Ответить | Цитировать Сообщить модератору
 Re: Лишний ноль в при datediff  [new]
Glory
Member

Откуда:
Сообщений: 104751
FastTI
Glory, ну у меня есть это выражение в контексте большего запроса, а я делаю выборку более ограниченную, но с теми условиями которые необходимы для получения этих секунд и сравниваю...

Это ваш запрос суммирует больше значений. Или другие значения.
А не сервер приписывает 0.
14 янв 16, 10:22    [18676461]     Ответить | Цитировать Сообщить модератору
 Re: Лишний ноль в при datediff  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
FastTI
Есть идеи?
Разумеется, сервер не "приписывает 0". Ищите, что вы там неправильно считаете. Добавьте в список колонок поля времени, которые передаются в DATEDIFF
Ну и элементарно, вы же суммируете, возможно, из за неправильных джойнов вы можете суммировать размножающиеся записи.
14 янв 16, 10:25    [18676489]     Ответить | Цитировать Сообщить модератору
 Re: Лишний ноль в при datediff  [new]
FastTI
Member

Откуда:
Сообщений: 44
alexeyvg,
Ну это вариант я сразу обдумывал... проверил вроде все в порядке.
14 янв 16, 10:29    [18676528]     Ответить | Цитировать Сообщить модератору
 Re: Лишний ноль в при datediff  [new]
Glory
Member

Откуда:
Сообщений: 104751
FastTI
проверил вроде все в порядке.

Плохо проверили.
Серверу соврешенно незачем дописывать куда-то нули.
14 янв 16, 10:31    [18676537]     Ответить | Цитировать Сообщить модератору
 Re: Лишний ноль в при datediff  [new]
FastTI
Member

Откуда:
Сообщений: 44
Glory, логично...
14 янв 16, 10:32    [18676549]     Ответить | Цитировать Сообщить модератору
 Re: Лишний ноль в при datediff  [new]
SUB_STATUS_CODE
Guest
FastTI,

в запросе где неправильно считает есть дополнительный джойн на табличку, где записи из таблицы с таймстемпами соответствуют 10 записей. все суммы умножаются на 10.
14 янв 16, 10:36    [18676585]     Ответить | Цитировать Сообщить модератору
 Re: Лишний ноль в при datediff  [new]
FastTI
Member

Откуда:
Сообщений: 44
FastTI,Вы были правы)) Спасибо, Разобрался.
14 янв 16, 10:38    [18676597]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить