The reserve column is a varchar, to perform sums on it I want to cast it to a deciaml. But the SQL below gives me an error
select cast(Reserve as decimal) fr
See here: CAST and IsNumeric
Try this:
WHERE IsNumeric(Reserve + '.0e0') = 1 AND reserve IS NOT NULL
UPDATE
Default of decimal is (18,0), so
declare @i nvarchar(100)='12121212121211212122121'--length is>18 SELECT ISNUMERIC(@i) --gives 1 SELECT CAST(@i as decimal)--throws an error