sql取整到0.5的update得怎么写?

cwtok123 2016-12-09 09:28:30
以0.25和0.75为界,
比如原值1.249999,更新为1.0
原值1.3和1.7更新为1.5。
...全文
500 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2016-12-09
  • 打赏
  • 举报
回复
这样的效果? e.g.


;WITH CTET(Num)
AS
(
SELECT CAST(1.249999 AS float)
UNION ALL
SELECT 1.3
UNION ALL 
SELECT 1.69
UNION ALL 
SELECT 1.7
UNION ALL 
SELECT 1.75
UNION ALL 
SELECT 1.9
)
SELECT *,CEILING(FLOOR(Num*4)/2)/2 AS Num2 FROM CTET
/*
Num	Num2
1.249999	1
1.3	1.5
1.69	1.5
1.7	1.5
1.75	2
1.9	2
*/
cwtok123 2016-12-09
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:
trunc(1.24999 + 0.5) 加一个0.5 就可以了!
是要把一列elevation中的值不是0.5的倍数的行更新为最靠近的0.5的倍数。
卖水果的net 版主 2016-12-09
  • 打赏
  • 举报
回复
trunc(1.24999 + 0.5) 加一个0.5 就可以了!

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧