если условие и счетчик увеличиваются - PullRequest
0 голосов
/ 21 мая 2011

Что не так с этим условием if?

  if ((@rent_amt_h <> '0.000') or (@house_payment_amt_h <> '0.000') or (@insurance_amt_h <> '0.000')or (@property_taxes_amt_h <> '0.000') or  (@gas_amt_u <> '0.000') or (@elec_amt_u <> '0.000') or (@otherfuel_amt_u <> '0.000') or (@Trash_Collection_amt_u <> '0.000') or (@Sewerage_amt_u <> '0.000') or (@Telephone_amt_u <> '0.000') or (@water_amt_u <> '0.000') or (@other_house_amt_h <> '0.000') or (@other_amt_u <> '0.000') or (@total_u <> '0.000'))

                           begin
                 SET @APPSHELTER_COUNT  =  (select Count(APP_ID) FROM ext_app_group_other_expenses (nolock)  WHERE APP_ID = @App_Id )
               end
               else
               begin
                 SET @APPSHELTER_COUNT  =  0
               end

Увеличивает значение @APPSHELTER_COUNT, даже если значения в условии if равны нулю !. Он никогда не устанавливает значение 0?

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 21 мая 2011

Какой это язык? В любом случае, вы чувствуете, что сравниваете числа со строками. Попробуйте удалить кавычки вокруг ваших нулей. Например @rent_amt_h <> 0 вместо @rent_amt_h <> '0.000'. Кроме того, если это какой-то SQL, убедитесь, что вы правильно обрабатываете NULL, потому что NULL != 0.

...