[ Oracle関数 ] 数値の四捨五入と切り捨て ( round / trunc )

Pocket

Oracle では、数値の四捨五入には round 関数を、数値の切り捨てには trunc 関数を使用して行うことができます。ここでは、そのサンプルを掲載しています。

スポンサーリンク

round 関数で四捨五入

サンプルのように四捨五入を行う位置は、小数点以下は正数で、整数部分は負数で指定します。一の位は -1、百の位は -2、・・・のように指定します。

-- 小数点第1位で四捨五入して整数を取得する
select round(111.4) from dual  -- 結果 111 
select round(-111.5) from dual  -- 結果 -112

-- 小数点第3位で四捨五入し、小数点第2位までの数値を取得する
select round(-111.524234, 2) from dual  -- 結果 -111.52
select round(-111.525098, 2) from dual  -- 結果 -111.53

-- 百の位で四捨五入する
select round(1434.524234, -2) from dual  -- 結果 1400
select round(-1594.525098, -2) from dual  -- 結果 -1600

trunc 関数で切り捨て

trunc 関数も、round 関数と同様に切捨てを行う位置を指定することができます。

-- 小数点を切り捨てる
select trunc(111.4) from dual  -- 結果 111 
select trunc(-111.5) from dual  -- 結果 -111

-- 小数点第3位で切り捨てる
select trunc(-111.524234, 2) from dual  -- 結果 -111.52
select trunc(-111.525098, 2) from dual  -- 結果 -111.52

-- 百の位で切り捨てる
select trunc(1434.524234, -2) from dual  -- 結果 1400
select trunc(-1594.525098, -2) from dual  -- 結果 -1500
スポンサーリンク

Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>