sql以0.5向下取整
sql server 2000中,我想以0.5向下取整,
如 :
0 取整后为 0,
0.0<=@x<0.5 取整后为 0,
0.5<=@x<1 取整后为 0.5,
1<=@x<1.5 取整后为 1 ,
1.5<=@x<2 取整后为 1.5 ,
2<=@x<2.5 取整后为 2 ,
2.5<=@x<3 取整后为 2.5 ,
.......
以此类推。。
怎么实现?望越简洁越好!
之前也有发过“sql以0.5向上取整的帖子”,高手们用 ceiling(@a*2)/2 就解决了,但是现在要向下取整了,不知道咋办了,又来求助各位了!!! 注意是向下哦!! SQL 0.5 取整 ceiling
[解决办法]
select floor(@a*2)/2
[解决办法]
select floor(0.5*2)/2--0.5
select floor(0.4*2)/2--0
create table a5(x decimal(5,1))
insert into a5(x)
select 0 union all
select 0.2 union all
select 0.6 union all
select 1.1 union all
select 1.7 union all
select 2.3 union all
select 2.9
select x,
x-x%0.5 'y'
from a5
/*
x y
--------------------------------------- ---------------------------------------
0.0 0.0
0.2 0.0
0.6 0.5
1.1 1.0
1.7 1.5
2.3 2.0
2.9 2.5
(7 row(s) affected)
*/