2016-09-12 1 views
0

Я продолжаю получать Msg 8134, уровень 16, состояние 1, строка 33 Разница по нулевой ошибке. ошибка в моем запросе.Я страдаю Divide от Zero Ошибка в моем запросе

Мои запросы:

Round(Convert(Float,(X1.Reported_Days)) /Convert(Float,(X1.Total_Days))*100,0) "Percentage", 

Всего дней = 8 Reported_Days = 0

Просьба помочь мне в этом вопросе.

+0

Вы уверены, что Преобразовать (с плавающей точкой, (X1.Total_Days)) придумывает, как 8,00? – Iain

+0

Не помещайте продукты, которые не задействованы. Поместите один тег dbms обратно, для того, который вы используете. – jarlh

ответ

3

Вы можете использовать случай, когда

case when Convert(Float,(X1.Total_Days)) = 0 
      then 0 -- or anything you want 
      else Round(Convert(Float,(X1.Reported_Days)) /Convert(Float,(X1.Total_Days))*100,0) 
     end 
    "Percentage", 
+0

Пробовал, но все равно получаю ошибку. Прикрепленный снимок экрана: http://imgur.com/a/oENb7 – Kapil

+0

@ Kapil отредактирован, вы можете попробовать этот (конвертировать firts для проверки значения 0). –

+0

Я получаю вывод. Но заканчивается с той же ошибкой. Почему это так? – Kapil