【SQL】 ROUND関数(四捨五入)の使い方

アイキャッチ画像 算術関数
算術関数
この記事は約5分で読めます。
Recommended Articles

【SQL】 ROUND関数(四捨五入)の使い方

ROUND関数
ORACLE  MS-SQL  MS-Access に対応しています。

ROUND関数 : 書式

書式
 ORACLE MSAccess
 ROUND(number [,length])
 ORACLE ROUND(date [,date_format])
 MS-SQL ROUND(number, length [,function])
引数
 number:数値式
 length:有効桁数
 date:日付式
 date_format:日付の書式
 function:実行する操作のタイプ
戻値
 四捨五入された値

ROUND関数 : 解説

ROUND関数は、指定された長さ、または有効桁数に、四捨五入で数値を丸める関数です。

ROUND関数は、ORACLE SQL Server で処理が異なります。

ROUND関数 : 解説 (オラクル)

オラクルでは、数値式と、日付式を丸めることが可能です。数値式で引数「length」を指定しない場合には、小数点以下1桁で四捨五入が行われ、丸められます。

SQL文 ORACLE
 SELECT 数値, ROUND(数値) FROM round_db;

実行結果
数値ROUND(数値)
1.1991
1.512

小数点以下の有効桁数を指定する引数「length」に正の数値を指定すると、その数値よりも1つ大きい数値の小数点以下の桁数で四捨五入されます。例えば、lengthに「2」を指定した場合には、小数点以下3桁目で四捨五入が行われます。

SQL文 ORACLE 
 SELECT 数値, ROUND(数値, 2) FROM round_db;

実行結果
数値ROUND(数値, 2)
123.123123.12
123.5123.5
456.456456.46

また、引数「length」に負の数値を指定すると、整数部分にさかのぼって丸めます。例えば、lengthに「-2」を指定すると、10の位で四捨五入が行われます。

SQL文 ORACLE
 SELECT 数値, ROUND(数値, -2) FROM round_db;

実行結果
数値ROUND(数値, -2)
123100
123.123100
456.456500

さらに、Oracleでは日付型の値を丸めることができます。丸める単位は日で、基準となるのは正午です。正午を過ぎていれば、日付が1日進められ、時間は「0時00分00秒」になります。また、正午より前の日付ならば日付はそのままで「0時00分00秒」になります。次の例では、ROUND関数で日付型の値を丸めています。また、TO_CHAR関数で日付型の値を文字列型にしています。

【SQL・ORACLE】 TO_CHAR関数の使い方(文字型に変換する)
TO_CHAR関数は、数値型、日付型のデータを文字列型に変換する関数です。日付型から変換するときは、書式をを指定することができます。いちれべ.comでは、基本的な使用方法はもちろん、具体的な使用例でも解説しています。
SQL文 ORACLE 
SELECT TO_CHAR(datevalue,'yyyy-mm-dd hh:mi:ss') 前,
TO_CHAR(ROUND(datevalue),'yyyy-mm-dd hh:mi:ss') 丸め後
FROM round_db;


実行結果
丸め後
2020-07-01 11:59:592020-07-01 00:00:00
2020-07-01 12:00:012020-07-02 00:00:00
2020-07-02 00:00:002020-07-02 00:00:00

ROUND関数 : 解説 (MS-SQL Server)

MS-SQL Serverでは,、四捨五入する数値「number」と、有効桁数「length」の両方を指定します。引数「length」は、有効桁数なので、lengthに「2」を指定すると小数点3桁目で四捨五入します。四捨五入する桁は指定した数値よりも1つ大きい桁数となります。引数「function_type」は、丸めを行うかどうかを指定する引数です。指定しない場合や、その値が「0」(既定値)の場合に「number」が丸められます。「0」以外の値を指定した場合は、numberは切り捨てられます

SQL文 MS-SQL
 SELECT 数値, ROUND(数値, 2) 丸めた数値 FROM round_db

実行結果
数値丸めた数値
123.0123.0
123.123123.12
123.456123.46

引数「length」に負の数値を指定すると、整数部分にさかのぼって丸めます。

SQL文 MS-SQL
SELECT 数値, ROUND(数値, -2) 丸めた数値 FROM round_db

実行結果
数値丸めた数値
123.0100.0
123.123100.0
123.456100.0

ROUND関数 : 関連リンク

【SQL】 切り捨てと切り下げの違いについての話
切り下げとは?切り捨てとの違いについて解説しています。マイナスの値を切り下げするときには、特に注意が必要で、予期せぬ結果を招くことがあります。SQLサーバーの切り捨てについても解説しています。オラクル、MSアクセスそれぞれ端数処理した結果もわかりやすく解説しています。
【SQL・ORACLE】 TRUNC関数の使い方(切り捨て)
TRUNC関数は、指定された桁数以下を切り捨てる関数です。ROUND関数では四捨五入を行いましたが、TRUNC関数では切り捨てを行います。オラクルで使用できます。いちれべ.comは、オラクル、MS-SQL、MS-Access で使用可能か一目でわかるサイトです。
【SQL】 FLOOR関数の使い方(切り下げ)
FLOOR関数は、引数で指定した数値を切り下げて整数を求める関数です。引数で与えた数値より小さく、最も近い整数を求めます。負の数値を与えると、負側の最も近い整数を返します。オラクルとSQL Serverともに使用できます。
【SQL・ORACLE】 CEIL関数(切り上げ)の使い方
CEIL関数は、引数で指定した数値を切り上げて整数を求める関数です。CEIL関数は、オラクルで使用できます。MS-SQL Serverでは、CEILING関数で同様の処理を実現できます。いちれべ.comは、オラクル、MS-SQL、MS-Access で使用可能か一目でわかるサイトです。
【SQL】 CEILING関数(切り上げ)の使い方
CEILING関数は、引数で与えた数値を切り上げて、整数を求める関数です。CEILING関数は、MS-SQL Serverで使用できます。ORACLEでは、CEIL関数で同様の処理が実現可能です。いちれべ.comは、オラクル、MS-SQL、MS-Access で使用可能か一目でわかるサイトです。
関数一覧ページ
SQLリファレンス > 関数
ORACLE、MS-SQL Server、MS-Access、MySQLで使用する関数の一覧表です。いちれべ.comは、オラクル、MS-SQL Server、MS-Access で使用可能か一目でわかるのが特徴のSEサポートサイトです。
Recommended Articles
いちれべ.com