Home Forums SQL Server 2005 T-SQL (SS2K5) Error converting data type varchar to numeric in CASE statement RE: Error converting data type varchar to numeric in CASE statement

  • Well then you have something else going on. We are at an extreme disadvantage since we don't know your table structures.

    The following code works just fine.

    if OBJECT_ID('tempdb..#MyData') is not null

    drop table #MyData

    create table #MyData

    (

    SomeVal varchar(10)

    )

    insert #MyData

    select '10' union all

    select '125' union all

    select '-4.67625' union all

    select 'abc'

    select * , case SomeVal when '-4.67625' then 2 when 'abc' then 1 else CONVERT(decimal(20,6), SomeVal) end

    from #MyData

    From what you have posted that is as close as I can get to your issue here. I can't imagine why you are getting the convert to int error since you said you are converting to decimal. If you can post the table structure and the entire query you running it will help understand what is going on.

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/