【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関数 : 解説 (オラクル)
オラクルでは、数値式と、日付式を丸めることが可能です。数値式で引数「length」を指定しない場合には、小数点以下1桁で四捨五入が行われ、丸められます。
SELECT 数値, ROUND(数値) FROM round_db;
実行結果
数値 | ROUND(数値) |
---|---|
1.199 | 1 |
1.51 | 2 |
小数点以下の有効桁数を指定する引数「length」に正の数値を指定すると、その数値よりも1つ大きい数値の小数点以下の桁数で四捨五入されます。例えば、lengthに「2」を指定した場合には、小数点以下3桁目で四捨五入が行われます。
SELECT 数値, ROUND(数値, 2) FROM round_db;
実行結果
数値 | ROUND(数値, 2) |
---|---|
123.123 | 123.12 |
123.5 | 123.5 |
456.456 | 456.46 |
また、引数「length」に負の数値を指定すると、整数部分にさかのぼって丸めます。例えば、lengthに「-2」を指定すると、10の位で四捨五入が行われます。
SELECT 数値, ROUND(数値, -2) FROM round_db;
実行結果
数値 | ROUND(数値, -2) |
---|---|
123 | 100 |
123.123 | 100 |
456.456 | 500 |
さらに、Oracleでは日付型の値を丸めることができます。丸める単位は日で、基準となるのは正午です。正午を過ぎていれば、日付が1日進められ、時間は「0時00分00秒」になります。また、正午より前の日付ならば日付はそのままで「0時00分00秒」になります。次の例では、ROUND関数で日付型の値を丸めています。また、TO_CHAR関数で日付型の値を文字列型にしています。

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:59 | 2020-07-01 00:00:00 |
2020-07-01 12:00:01 | 2020-07-02 00:00:00 |
2020-07-02 00:00:00 | 2020-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は切り捨てられます。
SELECT 数値, ROUND(数値, 2) 丸めた数値 FROM round_db
実行結果
数値 | 丸めた数値 |
---|---|
123.0 | 123.0 |
123.123 | 123.12 |
123.456 | 123.46 |
引数「length」に負の数値を指定すると、整数部分にさかのぼって丸めます。
SELECT 数値, ROUND(数値, -2) 丸めた数値 FROM round_db
実行結果
数値 | 丸めた数値 |
---|---|
123.0 | 100.0 |
123.123 | 100.0 |
123.456 | 100.0 |
ROUND関数 : 関連リンク





関数一覧ページ
