首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql以0.5向下取整解决思路

2013-07-01 
sql以0.5向下取整sql server 2000中,我想以0.5向下取整,如 :0 取整后为 0,0.0@x0.5 取整后为 0,0.5@x

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


[解决办法]
select ceiling(1.22*2)/2
select floor(1.22*2)/2
[解决办法]

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)
*/


[解决办法]
膜拜
[解决办法]
引用:

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)
*/


nice

热点排行