求一个sql语句 表t1中 字段f1 和 f2 (匀为float类型) ,想select f1/f2 form t1,当 f1/f2为整数时,返回即f1/f2;当 f1/f2为有小数部分时,则 返回f1/f2的整数部分+1。我想直接在select f1/f2*** form t1 这样的返回 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select floor(f1/f2) + 1 上面错了.select floor(f1/f2 + 0.5) 上面还是错了.select @f1/@f2 , floor(@f1/@f2 + 0.999999) select floor(f1/f2 + 0.999999) from tablenamewhere ... select ceil(f1/f2) from dual; 用CEILING函数select ceiling(f1/f2) declare @a float,@b floatselect @a=10select @b=3select convert(int,(case when floor(@a/@b)=@a/@b then floor(@a/@b) else floor(@a/@b)+1 end)) 习惯了ORACLE环境应该是select ceiling(f1/f2) CEILING正解.我的是旁门左道. 晕~~~declare @a float,@b floatselect @a=10select @b=3select ceiling(@a/@b)即可。 如果用sql执行多个数据库修改? 如何解决查询超时的问题呢? 求一简单SQL语句 SQL 数据类型的问题 求SQL: 排除重复数据 在企业管理器里面重命名表字段遇见的问题。急,请帮忙解答。 update与delete+insert的区别 求一SQL语句 如何将两个select得到的结果合成一张表输出 两个表有字段相关联,要修改此关联字段的值该怎么办? 如何还原数据库 关于 SQL 语句 执行 顺序的问题
select floor(f1/f2 + 0.5)
select @f1/@f2 , floor(@f1/@f2 + 0.999999)
where ...
select ceiling(f1/f2)
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))
应该是
select ceiling(f1/f2)
我的是旁门左道.
declare @a float,@b float
select @a=10
select @b=3
select ceiling(@a/@b)
即可。