首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >四舍五入至10的倍数

四舍五入至10的倍数
EN

Stack Overflow用户
提问于 2013-04-26 22:07:18
回答 1查看 8.7K关注 0票数 10

如何在PostgreSQL中将数字四舍五入为10的倍数?

示例:

代码语言:javascript
复制
In      Out
100 --> 100
111 --> 120
123 --> 130

示例数据:

代码语言:javascript
复制
create table sample(mynumber numeric);

insert into sample values (100);
insert into sample values (111);
insert into sample values (123);

我可以使用:

代码语言:javascript
复制
select 
 mynumber,
 case
    when mynumber = round(mynumber,-1) then mynumber 
    else round(mynumber,-1) + 10 end as result
from
 sample;

这工作得很好,但看起来很丑陋。有没有更简单的方法来做这件事?

你可以找到SQLFiddle here

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-26 22:13:18

代码语言:javascript
复制
select ceil(a::numeric / 10) * 10
from (values (100), (111), (123)) s(a);
 ?column? 
----------
      100
      120
      130
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16238522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档