这有什么问题?
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?
感谢您的帮助。
那是什么语言?无论如何,感觉就像你在用字符串比较数字。尝试删除零周围的引号。例如@rent_amt_h <> 0
而不是@rent_amt_h <> '0.000'
。此外,如果这是一些 SQL,请确保正确处理NULL
,因为NULL != 0
.