ROUND

数値や日付のまるめを行います。

-- Oracle, PostgreSQL, MySQL, MS Access
ROUND ( expression [, position ] )

-- SQLServer
ROUND ( expression, position [, round_type ] )

return : まるめをした数値
expression : まるめをする値
position : まるめる桁
round_type : まるめ操作の内容

 

-- Oracle
ROUND ( expression [, format_expression ] )

return : まるめをした日付
expression : まるめをする値
format_expression : 日付書式

 

*
まるめる桁を指定しない場合、小数点第一位で四捨五入します。

SELECT A,
       ROUND(A)
  FROM ほげほげマスタ
;

結果

A ROUND(A)
1234.56789 1235

 

*
まるめる桁を正数で指定した場合、その小数点以下の桁が残るように四捨五入します。

SELECT A,
       ROUND(A, 2)
  FROM ほげほげマスタ
;

結果

A ROUND(A, 2)
1234.56789 1234.57

 

*
まるめる桁を負数で指定した場合、その桁で四捨五入します。
以下のように、-2を指定すると10の位で四捨五入します。

SELECT A,
       ROUND(A, -2)
  FROM ほげほげマスタ
;

結果

A ROUND(A, -2)
1234.56789 1200

 

*
日付のまるめを時で丸める場合、以下のように指定します。

SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH24:MI:SS'),
       TO_CHAR(ROUND(SYSDATE, 'DD'), 'YYYY/MM/DD HH24:MI:SS')
  FROM DUAL
;

結果

TO_CHAR(SYSDATE, ‘YYYY/MM/DD HH24:MI:SS’) TO_CHAR(ROUND(SYSDATE, ‘DD’), ‘YYYY/MM/DD HH24:MI:SS’)
2014/10/05 22:10:39 2014/10/06 00:10:00

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です