declare @FNum1 dec(10,1),
        @FNum2 dec(10,4)
select @FNum1=2.0,
       @FNum2=3.0000
select @FNum1+FNum2
显示为:5.0000若要显示为字符型的'5.0',SQL怎么写呢?

解决方案 »

  1.   

    --取小数点后一位declare @a decimal(8,4)
    set @a = 5.0000
    select substring(cast(@a as varchar),1,charindex('.',cast(@a as varchar)) + 1)
      

  2.   

    select cast(@FNum1+FNum2 as decimal(18,1))
      

  3.   

    declare @FNum1 dec(10,1),
            @FNum2 dec(10,4)
    select @FNum1=2.0,
           @FNum2=3.0000
    select cast(@FNum1+@FNum2 as decimal(10, 1))--result
    ------------ 
    5.0(1 row(s) affected)
      

  4.   

    declare @FNum1 dec(10,1),
            @FNum2 dec(10,4)
    select @FNum1=2.0,
           @FNum2=3.0000
    select convert(decimal(10, 1),@FNum1+@FNum2 )
      

  5.   

    SELECT CAST(@FNum1+@FNum2 AS DEC(10,1))
    SELECT CONVERT(DEC(10,1),@FNum1+@FNum2)