Tom*_*eif 10 postgresql postgresql-9.1
如何在PostgreSQL中轻松将数字UP上升到10的倍数?
例:
In Out
100 --> 100
111 --> 120
123 --> 130
Run Code Online (Sandbox Code Playgroud)
样本数据:
create table sample(mynumber numeric);
insert into sample values (100);
insert into sample values (111);
insert into sample values (123);
Run Code Online (Sandbox Code Playgroud)
我可以用:
select
mynumber,
case
when mynumber = round(mynumber,-1) then mynumber
else round(mynumber,-1) + 10 end as result
from
sample;
Run Code Online (Sandbox Code Playgroud)
这很好用,但看起来很难看.有更简单的方法吗?
你可以在这里找到SQLFiddle
Clo*_*eto 19
select ceil(a::numeric / 10) * 10
from (values (100), (111), (123)) s(a);
?column?
----------
100
120
130
Run Code Online (Sandbox Code Playgroud)