July 7, 2005 at 12:52 pm
Can someone please help me out here... i need to write a SQL statement as such:
SELECT
value1 AS 'VALUE1', value2/value1 AS 'VALUE2', value 3 AS 'VALUE3', value2/value3 AS 'VALUE4'
FROM dbo.tblValues VL
WHERE VL.ID = @ID
BUT I need to put in some kind of statement to avoid a divide by 0 so that if value1 is 0 then dont do the calculation and put a null or N/A in the table instead and same for value3
any help would be greatly appreciated by email address is schoudhr@hotmail.com
July 7, 2005 at 12:56 pm
Use a CASE statement. For instance:
SELECT value1 AS 'VALUE1', CASE WHEN VALUE1 = 0 THEN value2 ELSE value2/value1 END 'VALUE2', value3 AS 'VALUE3', CASE WHEN VALUE3 = 0 THEN value2 ELSE value2/value3 END 'VALUE4' FROM dbo.tblvalues VL WHERE VL.ID = @ID
K. Brian Kelley
@kbriankelley
July 7, 2005 at 1:01 pm
OR use NULLIF
SELECT value1 AS 'VALUE1',
value2/NULLIF(value1,0) 'VALUE2',
value3 AS 'VALUE3',
value2/NULLIF(value3,0) 'VALUE4'
FROM dbo.tblvalues VL
WHERE VL.ID = @ID
* Noel
July 7, 2005 at 10:00 pm
problem solved!
thanks a whole lot guys
i am most grateful indeed
Viewing 4 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply