SQL Делить значения столбцов, ЕСЛИ МЕНЬШЕ 0 - PullRequest
1 голос
/ 08 июля 2010

Мне трудно разобраться, как «обрабатывать ошибки» в следующем SQL.

Как часть моего выбора SELECT, у меня есть

((sp.sp_retailprice - sp.sp_wholesaleprice_l1) / (sp.sp_wholesaleprice_l1))  as 'calc test'

, который вычитает один столбец из другого, а затем делит результат на столбец sp_wholesaleprice_l1.

Однако значения sp_wholesaleprice_l1 иногда равны 0,00, запрос возвращает ожидаемые результаты, пока не достигнет 0,00, и я получаю ошибку деления на 0.

Как я могу сделать запрос, чтобы, если у меня было 0,00 в столбце sp_wholesaleprice_l1, он делал что-то другое ... например, заменял 0 на 1?

Большое спасибо:)

1 Ответ

4 голосов
/ 08 июля 2010
(
(sp.sp_retailprice - sp.sp_wholesaleprice_l1) /
(CASE WHEN sp.sp_wholesaleprice_l1 = 0 THEN 1 ELSE sp.sp_wholesaleprice_l1 END)
)  as 'calc test'

Больше на СЛУЧАЕ

http://msdn.microsoft.com/en-us/library/ms181765.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...