表t1中 字段f1 和 f2  (匀为float类型) ,想select  f1/f2 form t1,当 f1/f2为整数时,返回即f1/f2;当 f1/f2为有小数部分时,则 返回f1/f2的整数部分+1。我想直接在select  f1/f2*** form t1 这样的返回

解决方案 »

  1.   

    select floor(f1/f2) + 1
      

  2.   

    上面错了.
    select floor(f1/f2 + 0.5)
      

  3.   

    上面还是错了.
    select @f1/@f2 , floor(@f1/@f2 + 0.999999)
      

  4.   

    select floor(f1/f2 + 0.999999) from tablename
    where ...
      

  5.   

    select ceil(f1/f2) from dual;
      

  6.   

    用CEILING函数
    select ceiling(f1/f2)
      

  7.   

    declare @a float,@b float
    select @a=10
    select @b=3
    select convert(int,(case when floor(@a/@b)=@a/@b then floor(@a/@b) else floor(@a/@b)+1 end))
      

  8.   

    习惯了ORACLE环境
    应该是
    select ceiling(f1/f2)
      

  9.   

    CEILING正解.
    我的是旁门左道.
      

  10.   

    晕~~~
    declare @a float,@b float
    select @a=10
    select @b=3
    select ceiling(@a/@b)
    即可。