Something like this should work
DECLARE@num1 NUMERIC(12,2)
DECLARE@num2 NUMERIC(12,2)
SELECT@num1 = 29, @num2 = 30
SELECT CONVERT(NUMERIC(12,2),@num1/@num2)
OR this
SELECT 29/30.00
This issue happened because when you do something like SELECT CONVERT( NUMERIC(12,2), 29/30 ), an INTEGER division is done between 29 and 30 which gives the result as 0
0 is then converted to NUMERIC(12,2) which is again 0