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

Откуда:
Сообщений: 1574
Добрый день,

у меня в запросе стоит
select
a/b as sum
...
from table1

иногда значение b=0, в итоге ошибка выходит, как сделать в запросе, что если 0, то стаивлось значение 0 (деления не было)
13 сен 12, 07:36    [13155318]     Ответить | Цитировать Сообщить модератору
 Re: деление на 0  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
CASE
13 сен 12, 07:36    [13155321]     Ответить | Цитировать Сообщить модератору
 Re: деление на 0  [new]
Добрый Э - Эх
Guest
a / nullif(b,0)
13 сен 12, 07:44    [13155330]     Ответить | Цитировать Сообщить модератору
 Re: деление на 0  [new]
AxuliON
Member

Откуда: оттуда, и на лыжах
Сообщений: 574
dimakz,
CASE b
WHEN 0 THEN 0
ELSE a/b
END as [SUM]
13 сен 12, 08:52    [13155449]     Ответить | Цитировать Сообщить модератору
 Re: деление на 0  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Добрый Э - Эх
a / nullif(b,0)
a/isnull(nullif(b,0),1)
13 сен 12, 09:04    [13155483]     Ответить | Цитировать Сообщить модератору
 Re: деление на 0  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2995
iap
Добрый Э - Эх
a / nullif(b,0)
a/isnull(nullif(b,0),1)


тогда не выполнится условие
автор
иногда значение b=0, в итоге ошибка выходит, как сделать в запросе, что если 0, то стаивлось значение 0 (деления не было)
13 сен 12, 09:58    [13155733]     Ответить | Цитировать Сообщить модератору
 Re: деление на 0  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
HandKot
iap
пропущено...
a/isnull(nullif(b,0),1)


тогда не выполнится условие
автор
иногда значение b=0, в итоге ошибка выходит, как сделать в запросе, что если 0, то стаивлось значение 0 (деления не было)
isnull(a/nullif(b,0),0)
13 сен 12, 10:03    [13155763]     Ответить | Цитировать Сообщить модератору
 Re: деление на 0  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2995
iap
HandKot
пропущено...


тогда не выполнится условие
пропущено...
isnull(a/nullif(b,0),0)


про это я и говорил :)
13 сен 12, 10:11    [13155807]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить