四捨五入、数値の丸め処理

日付の丸め処理

syntax

ROUND ( number [, integer] )
ROUND ( float_number )
return [ number | binary_float | binary_double ]

parameter

number丸め処理を行なう数値式
integer丸め処理をする位(小数の桁数)default 0
float_numberBINARY_FLOAT、BINARY_DOUBLE 型の式

return

  • 丸められた数値

avail

  • SQL および PL/SQL の両方で使用可能。

ROUND(数値)関数の内容

数値式 number を小数第 integer 位(省略時は 0)に四捨五入した値を戻す。
丸め処理(※)する位 integer が負の場合は小数点の左桁、つまり整数部の指定桁以下が丸め処理の対象となる。

(※) 丸め処理とは四捨五入を含むの複数の丸め処理の総称である。Oracle の ROUND 関数は四捨五入と呼ばれるもの。また JIS 規格に定められている計測処理(JIS Z8401-1999)では丸め処理というと偶数丸め(銀行丸め)の近い偶数に丸めるのが一般的のようである。(Oracle 標準 SQL 関数には該当するものが無い)

注意

浮動小数点型と ROUND 関数
数値式として浮動小数点のデータ型(BINARY_FLOAT、BINARY_DOUBLE のみ)を受け付ける
ROUND (float_number) 関数の場合、数値として xxx.5 を入力とすると近い偶数の整数値に丸められる。 但し、位を省略した場合(=小数第一位)限定の振る舞いなので浮動小数点で丸め処理をする場合には気をつける。

これは ROUND 関数の オーバーロードROUND (float_number) のみで ROUND ( float_number [, integer] ) が用意されていないことによって float_number が NUMBER 型に 暗黙変換 されていることに起因する。

ROUND(数値) 使用例

SQL> select num, d, p, ROUND(num,p), ROUND(d), ROUND(d,p)
  2   from round_sample2;
 
  NUMBER型  BINARY_DOUBLE型
       NUM               D          P ROUND(NUM,P)   ROUND(D) ROUND(D,P)
---------- --------------- ---------- ------------ ---------- ----------
 1234.5678   1.2345678E+03          2      1234.57 1.235E+003    1234.57
 1234.5678   1.2345678E+03          1       1234.6 1.235E+003     1234.6
    1234.5   1.2345000E+03          0         1235 1.234E+003       1235
                                                   ^^^^^^^^^^       ^^^^
 1234.5678   1.2345678E+03          0         1235 1.235E+003       1235
 1234.5678   1.2345678E+03         -1         1230 1.235E+003       1230
                                                   ^^^^^^^^^^       ^^^^
                                                  BINARY_DOUBLE   NUMBER型


SQL 関数 - ROUND 関連

 
アルファベット別 関数一覧 ショートカット
ABCDEFG
HILMNOP
RSTUVWX
日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ 会員制(無料)の公式技術サイト