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.

 All Forums
 General SQL Server Forums
 New to SQL Server Programming
 conversion error

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 NOOFDAYS
FROM IP_INTERIM_BILLING IRM
LEFT 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_ID
LEFT JOIN SALUTATION S
ON S.SALUTATION_ID = PV.SALUTATION_ID
LEFT 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_ID
LEFT JOIN CENTERS C
ON C.CENTER_ID = IPA.CENTER_ID
LEFT JOIN ORGANISATION ORG
ON ORG.ORG_ID=C.ORG_ID
WHERE (C.CENTER_ID = @Centers) OR (@Centers=-1)
AND CONVERT(VARCHAR,IRM.DATE,112) = CONVERT(VARCHAR,@Date,112)
AND IRM.STATUS=1

thanks 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 NOOFDAYS
FROM IP_INTERIM_BILLING IRM
LEFT 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_ID
LEFT JOIN SALUTATION S
ON S.SALUTATION_ID = PV.SALUTATION_ID
LEFT 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_ID
LEFT JOIN CENTERS C
ON C.CENTER_ID = IPA.CENTER_ID
LEFT JOIN ORGANISATION ORG
ON ORG.ORG_ID=C.ORG_ID
WHERE (C.CENTER_ID = @Centers) OR (@Centers=-1)
AND CONVERT(VARCHAR,IRM.DATE,112) = CONVERT(VARCHAR,@Date,112)
AND IRM.STATUS=1

thanks 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.
Go to Top of Page

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...
Go to Top of Page

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.
Go to Top of Page
   

- Advertisement -