在sqlserver 7 中 为什么两数相除只返回整数部分? 如 select 1/3  返回0
我要精确值

解决方案 »

  1.   


    Declare @p decimal(38,28)
    set @p=1
    select @p/3
      

  2.   

    当然返回0,这和c语言是一样的
    这样也许性select 1.0/3,
      

  3.   

    declare
    @a int,@b int
    select @a=2, @b=3
    select convert(float,@a)/convert(float,@b)
      

  4.   

    只写1、3系统认为是整形变量当然结果也是整型的
    其实只要写成
    select 1.0/3.0就行了