declare @num numeric(10,2)
set @num = 12.20
select @num
select cast(@num as numeric)
/*
             
------------ 
12.20(所影响的行数为 1 行)                     
-------------------- 
12(所影响的行数为 1 行)*/

解决方案 »

  1.   

    select cast(cast(@num as numeric) as varchar)
      

  2.   

    楼上的大哥,numeric返回的是INT型,你的结果反小数点后的都去掉了,不是楼主的意思!
      

  3.   

    用这个吧!
    select cast(@num as real)
      

  4.   

    declare @num numeric(10,2)
    set @num = 12.20
    select @num
    select cast(@num as real)/*
                 
    ------------ 
    12.20(1 row(s) affected)                         
    ------------------------ 
    12.2(1 row(s) affected)
    */