SQL IsNumeric not working

前端 未结 11 802
迷失自我
迷失自我 2021-01-02 19:47

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         


        
11条回答
  •  别那么骄傲
    2021-01-02 20:17

    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
    

提交回复
热议问题