0

在查询时使用以下 sql 案例时,有没有办法摆脱这个错误?因为某些字段是 varchar,因为它们是导入的?

select * ,
case when [Month] = '200911' then netpay_nov09
 when [Month] = '200912' then netpay_dec09
 when [Month] = '201001' then netpay_jan10
end as m1
4

1 回答 1

0

由于这些varchar列似乎可能包含 REAL 值,因此将它们显式转换为 REAL 并将它们 ROUND,如下所示:

select * ,
    case 
         when [Month] = '200911' then ROUND(CONVERT(REAL, netpay_nov09), 0)
         when [Month] = '200912' then ROUND(CONVERT(REAL, netpay_dec09), 0)
         when [Month] = '201001' then ROUND(CONVERT(REAL, netpay_jan10), 0)
    end as m1
....
于 2012-10-23T09:27:46.017 回答