Oracleでは、ROUND(number)
関数は、指定された小数点以下の桁数に丸められた数値を返します。
デフォルトでは、数値は小数点以下0桁に丸められますが、使用する小数点以下の桁数を指定するオプションの引数を指定できます。
OracleにはROUND(date)
もあります 日付に使用される構文。この記事は、ROUND(number)
に関するものです。 数値に使用される構文。
構文
構文は次のようになります:
ROUND(n [, integer ])
n
任意の数値データ型または暗黙的に数値データ型に変換できる任意の非数値データ型、および integer
n
を丸める小数点以下の桁数を指定するオプションの整数です。 に。
例
次に例を示します:
SELECT ROUND(7.85)
FROM DUAL;
結果:
ROUND(7.85) ______________ 8
負の値
負の値に切り替えると、次の結果が生成されます。
SELECT ROUND(-7.85)
FROM DUAL;
結果:
ROUND(-7.85) _______________ -8
2番目の引数
2番目の引数を提供する例を次に示します。
SELECT ROUND(7.85, 1)
FROM DUAL;
結果:
ROUND(7.85,1) ________________ 7.9
この場合、結果を小数点第1位に四捨五入するように指定しました。
小数点以下の桁数が多い別の例を次に示します。
SELECT ROUND(3.14159265359, 4)
FROM DUAL;
結果:
ROUND(3.14159265359,4) _________________________ 3.1416
負の丸め
2番目の引数に負の値を指定することもできます。これを行うと、小数点の左側の数値が四捨五入されます:
SELECT ROUND(75631, -3)
FROM DUAL;
結果:
ROUND(75631,-3) __________________ 76000
非数値引数の丸め
数値データ型に変換できない非数値引数を丸めようとすると、次のようになります。
SELECT ROUND('Bruce')
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT ROUND('Bruce') FROM DUAL Error report - ORA-01722: invalid number
ただし、日付を丸めることはできます。この関数には、日付を丸めることができる日付バージョンがあります。
ヌル値
null
を丸めようとしています null
を返します 、およびnull
で数値を丸めようとしています また、null
になります :
SET NULL 'null';
SELECT
ROUND(null),
ROUND(null, 2),
ROUND(2.345, null)
FROM DUAL;
結果:
ROUND(NULL) ROUND(NULL,2) ROUND(2.345,NULL) ______________ ________________ ____________________ null null null
デフォルトでは、SQLclおよびSQL * Plusは、null
の場合は常に空白を返します。 SQL SELECT
の結果として発生します 声明。
ただし、SET NULL
は使用できます 返される別の文字列を指定します。ここでは、文字列null
を指定しました 返却する必要があります。
引数の数が正しくありません
ROUND()
を呼び出す 引数を渡さないとエラーが返されます:
SELECT ROUND()
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT ROUND() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00938: not enough arguments for function 00938. 00000 - "not enough arguments for function" *Cause: *Action:
また、間違った数の引数を渡すと、エラーが発生します:
SELECT ROUND(1.34, 2, 3)
FROM DUAL;
結果:
Error starting at line : 1 in command - SELECT ROUND(1.34, 2, 3) FROM DUAL Error at Command Line : 1 Column : 23 Error report - SQL Error: ORA-00939: too many arguments for function 00939. 00000 - "too many arguments for function" *Cause: *Action: