よく世間で交わされる会話に次の様なモノがある。
「おー、君ぃー 年なんぼさ??」(北海道弁丸出し)
「んと... 2?いやいや3だな。43才です。」 (もう30才を越えたあたりから1の位は曖昧になる)
「そうか、四捨五入したらまだ40だな。若い若い。ワッハッハ!」
「..... お前は、どこぞの社長か????」
四捨五入... 45か..そういや、アラフォーとか、R30とか流行ってるなぁ。
なんじゃこりゃ。アラフォー取扱説明書 って??
ROUND関数を使うぞ
select round(10.4) from dual; ----> 10
になるよ
select round(10.5) from dual; ----> 11 になるよ
select round(123.234,2) from dual; ----> 123.23
になるよ
select round(123.2359,3) from dual; ----> 123.236
になるよ
二つめの引数を指定すると、その桁で丸めて四捨五入するぞ。
select round(123.234,-2) from dual; ----> 100になるよ
select round(163.234,-2) from dual; ----> 200になるよ
二つめの引数に負の値を指定すると、整数部の指定桁で丸めて四捨五入するぞ。
TRUNC関数を使うぞ
select trunc(10.5) from dual; ----> 10 になるよ
select trunc(192.294,2) from dual; ----> 192.29 になるよ
二つめの引数を指定すると、その桁で丸めて切り捨てするぞ。
select trunc(192.294,-2) from dual; ----> 100になるよ
二つめの引数に負の値を指定すると、整数部の指定桁で丸めて切り捨てするぞ。
直接切り上げする関数はないぞ!!!! TRUNCを応用しようぜ!
切り捨てられる一番多き泣けたから、意番地委細桁をすべてカバーした桁数の9の連続した値を足して、望みの値より大きな値にしてから「TRUNC関数」を実行すればOKだ。
148.234を10の位で切り上げて150にしたい場合
select trunc(148.234 + 9.999,-1) from dual ----> 150
になるよ
面倒だね。
思い出したかい?ボーイ? それとも知らなかったかい?
(2009.02.13)