四舍五入怎么取整50和整百

ajdkjalj 2018-01-08 05:10:44
有个字段要求四舍五入,1到49取50,51到99取整百,比如210取250,289取300
...全文
982 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2018-01-08
  • 打赏
  • 举报
回复
DECLARE @t TABLE ( v float)
INSERT INTO @t
SELECT 49.2
UNION ALL SELECT 51.3
UNION ALL SELECT 210.5
UNION ALL SELECT 289.8

SELECT v,(CAST(v AS INT)+50)/50*50 AS convertV FROM @t
/*
v                      convertV
---------------------- -----------
49.2                   50
51.3                   100
210.5                  250
289.8                  300
*/
试下这个呢?
ajdkjalj 2018-01-08
  • 打赏
  • 举报
回复
引用 1 楼 yenange 的回复:
DECLARE @t TABLE ( v INT)
INSERT INTO @t
SELECT 49
UNION ALL SELECT 51
UNION ALL SELECT 210
UNION ALL SELECT 289

SELECT (v+50)/50*50 AS v FROM @t
/*
v
50
100
250
300
*/


还在没啊,有点小问题,

i.cInvDefine12是int类型,i.cInvDefine13 是float类型,得出来结果不正确呢
吉普赛的歌 2018-01-08
  • 打赏
  • 举报
回复
DECLARE @t TABLE ( v INT)
INSERT INTO @t
SELECT 49
UNION ALL SELECT 51
UNION ALL SELECT 210
UNION ALL SELECT 289

SELECT (v+50)/50*50 AS v FROM @t
/*
v
50
100
250
300
*/

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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