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

Откуда: Rudnyy
Сообщений: 198
Здравствуйте!
при выполнении запроса

select	name, isnull(RTRIM(razmer), '') razmer, cquantity1, cquantity2, cquantity3, cquantity4, cquantity5, cquantity6,
	cquantity7, cquantity8, cquantity9, cquantity10, cquantity11, cquantity12, isnull(itogo, 0), isnull(dall, 0),  
	itogo/sum(itogo)*100 
from	#tmpresult

появляется ошибка
Server: Msg 8134, Level 16, State 1, Line 168
Divide by zero error encountered.
понятно, что делить на ноль нельзя, как обработать эту исключительную ситуацию?
23 июн 09, 08:05    [7331232]     Ответить | Цитировать Сообщить модератору
 Re: Divide by zero  [new]
step_ks
Member

Откуда:
Сообщений: 936
where, nullif - смотря что вам нужно.
23 июн 09, 08:10    [7331235]     Ответить | Цитировать Сообщить модератору
 Re: Divide by zero  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> понятно, что делить на ноль нельзя, как обработать эту исключительную
> ситуацию?

так устроит?

itogo/nullif(sum(itogo), 0)*100


Posted via ActualForum NNTP Server 1.4

23 июн 09, 08:11    [7331236]     Ответить | Цитировать Сообщить модератору
 Re: Divide by zero  [new]
yaros-hoi
Member

Откуда: Rudnyy
Сообщений: 198
step_ks,

мне нужно вывести все записи, но если встречается деление на ноль, то просто вернуть ноль
23 июн 09, 08:12    [7331239]     Ответить | Цитировать Сообщить модератору
 Re: Divide by zero  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
CASE
23 июн 09, 08:17    [7331247]     Ответить | Цитировать Сообщить модератору
 Re: Divide by zero  [new]
ветерочек
Member

Откуда: СПБ
Сообщений: 153
isnull( itogo/nullif(sum(itogo), 0)*100,0)
23 июн 09, 08:21    [7331254]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить