轮数UP到10的倍数

时间:2013-04-26 14:07:18

标签: postgresql postgresql-9.1

如何在PostgreSQL中将数字UP上升到10的倍数?

示例:

In      Out
100 --> 100
111 --> 120
123 --> 130

示例数据:

create table sample(mynumber numeric);

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

我可以使用:

select 
 mynumber,
 case
    when mynumber = round(mynumber,-1) then mynumber 
    else round(mynumber,-1) + 10 end as result
from
 sample;

这很好用,但看起来很难看。有更简单的方法吗?

您可以找到SQLFiddle here

1 个答案:

答案 0 :(得分:18)

select ceil(a::numeric / 10) * 10
from (values (100), (111), (123)) s(a);
 ?column? 
----------
      100
      120
      130