トップページに戻る
次のSQLパズルへ
前のSQLパズルへ
2-1-8 最も近い倍数に、数値を変換
SQLパズル
数値を、最も近い5の倍数に数値を切り上げ、および、
最も近い5の倍数に数値を切り下げる。
テーブル
Val 切り上げ 切り下げ
---- -------- --------
10.5 15 10
10 10 10
9.5 10 5
5.5 10 5
5 5 5
4.5 5 0
1.5 5 0
1 5 0
.5 5 0
0 0 0
-1.5 0 -5
-4.5 0 -5
-5 -5 -5
-5.5 -5 -10
SQL
select Val,
ceil(Val/5) *5 as 切り上げ,
floor(Val/5) *5 as 切り下げ
from (select 10.5 as Val from dual union
select 10 from dual union
select 9.5 from dual union
select 5.5 from dual union
select 5 from dual union
select 4.5 from dual union
select 1.5 from dual union
select 1 from dual union
select .5 from dual union
select 0 from dual union
select -1.5 from dual union
select -4.5 from dual union
select -5 from dual union
select -5.5 from dual)
order by Val desc;
解説
ceil関数を使えば、数値の切り上げ、
floor関数を使えば、数値の切り下げ、
ができます。