Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
ahmeds08
Aged Yak Warrior
737 Posts |
Posted - 2011-06-16 : 02:31:10
|
| hello everybody, i have a query when executed gives the error:'Divide by zero error encountered.' because the deposit amount column in the table has zero value.how can i avoid the error... SELECT IRM.INTERIM_BILL_NO, IRM.DATE, IRM.SERVICE_AMOUNT, IRM.DEPOSIT_AMOUNT, IRM.BALANCE_AMOUNT, ((IRM.BALANCE_AMOUNT)*100)/(IRM.DEPOSIT_AMOUNT) AS BAL_PERC, IPA.IP_NUMBER, PD.MRN_NO, S.DESCRIPTION+' '+PV.PATIENT_FIRST_NAME+' '+PV.PATIENT_MIDDLE_NAME+' '+PV.PATIENT_LAST_NAME AS NAME, IPA.ADMISSION_DATE AS DOA, CC.COMPANY_NAME, CC.LIMIT_AMOUNT, C.CENTER_NAME, ORG.ORG_NAME, C.CENTER_ID, ' ' AS NOOFDAYSFROM IP_INTERIM_BILLING IRMLEFT JOIN IP_ADMISSION IPA ON IPA.IPID = IRM.IPID LEFT JOIN PATIENT_DEMOGRAPHY PD ON PD.PATIENT_ID = IRM.PATIENT_ID LEFT JOIN PATIENT_VISIT PV ON IPA.VISIT_ID = PV.VISIT_IDLEFT JOIN SALUTATION S ON S.SALUTATION_ID = PV.SALUTATION_IDLEFT JOIN IP_ADMISSION_CREDIT pcd ON PCD.IPID= IRM.IPID and pcd.[PRIMARY] = 'Y'left JOIN CREDIT_COMPANY CC ON CC.COMPANY_ID = PCD.COMPANY_IDLEFT JOIN CENTERS C ON C.CENTER_ID = IPA.CENTER_IDLEFT JOIN ORGANISATION ORG ON ORG.ORG_ID=C.ORG_IDWHERE (C.CENTER_ID = @Centers) OR (@Centers=-1)AND CONVERT(VARCHAR,IRM.DATE,112) = CONVERT(VARCHAR,@Date,112)AND IRM.STATUS=1thanks in advance |
|
|
webfred
Master Smack Fu Yak Hacker
8781 Posts |
Posted - 2011-06-16 : 02:38:25
|
quote: Originally posted by ahmeds08 hello everybody, i have a query when executed gives the error:'Divide by zero error encountered.' because the deposit amount column in the table has zero value.how can i avoid the error... SELECT IRM.INTERIM_BILL_NO, IRM.DATE, IRM.SERVICE_AMOUNT, IRM.DEPOSIT_AMOUNT, IRM.BALANCE_AMOUNT, ((IRM.BALANCE_AMOUNT)*100)/nullif(IRM.DEPOSIT_AMOUNT,0) AS BAL_PERC, IPA.IP_NUMBER, PD.MRN_NO, S.DESCRIPTION+' '+PV.PATIENT_FIRST_NAME+' '+PV.PATIENT_MIDDLE_NAME+' '+PV.PATIENT_LAST_NAME AS NAME, IPA.ADMISSION_DATE AS DOA, CC.COMPANY_NAME, CC.LIMIT_AMOUNT, C.CENTER_NAME, ORG.ORG_NAME, C.CENTER_ID, ' ' AS NOOFDAYSFROM IP_INTERIM_BILLING IRMLEFT JOIN IP_ADMISSION IPA ON IPA.IPID = IRM.IPID LEFT JOIN PATIENT_DEMOGRAPHY PD ON PD.PATIENT_ID = IRM.PATIENT_ID LEFT JOIN PATIENT_VISIT PV ON IPA.VISIT_ID = PV.VISIT_IDLEFT JOIN SALUTATION S ON S.SALUTATION_ID = PV.SALUTATION_IDLEFT JOIN IP_ADMISSION_CREDIT pcd ON PCD.IPID= IRM.IPID and pcd.[PRIMARY] = 'Y'left JOIN CREDIT_COMPANY CC ON CC.COMPANY_ID = PCD.COMPANY_IDLEFT JOIN CENTERS C ON C.CENTER_ID = IPA.CENTER_IDLEFT JOIN ORGANISATION ORG ON ORG.ORG_ID=C.ORG_IDWHERE (C.CENTER_ID = @Centers) OR (@Centers=-1)AND CONVERT(VARCHAR,IRM.DATE,112) = CONVERT(VARCHAR,@Date,112)AND IRM.STATUS=1thanks in advance
And: It is not a conversion error - it is a division by zero error  No, you're never too old to Yak'n'Roll if you're too young to die. |
 |
|
|
ahmeds08
Aged Yak Warrior
737 Posts |
Posted - 2011-06-16 : 02:51:36
|
| Thank you very much webfred..one more thing iam getting null value in the column where you have applied nulliff().how can i replace the null value with integer... |
 |
|
|
webfred
Master Smack Fu Yak Hacker
8781 Posts |
Posted - 2011-06-16 : 03:04:41
|
If you want to get 0 instead of NULL:COALESCE( ((IRM.BALANCE_AMOUNT)*100)/nullif(IRM.DEPOSIT_AMOUNT,0),0) AS BAL_PERC, No, you're never too old to Yak'n'Roll if you're too young to die. |
 |
|
|
|
|
|
|
|