丸め関数

round関数は、入力式の値を小数点の右側の指定された桁数まで丸めます。

構文:

double round(n [, d ])
セマンティクス:
  • n, d: 引数nおよびdは、数値に解決される式です。dの値は-30 <=d<=30の範囲内である必要があります。最大絶対値30を超えるdの値は、それぞれ30または-30に切り捨てられます。dが整数でない場合は、整数値にキャストされます。

    たとえば、round(123.456,1.5)round(123.456,1)であるとみなされ、round(123.456,50)round(123.456,30)として処理されます。

  • 戻り型: double。
    nおよびdの値に応じて、round関数は次のように動作します:
    • dが正の値である場合、関数はnを小数点の右側のd桁に丸めます。nの小数部が0.5以上である場合、値は切り上げられます。

      たとえば、round(0.5)は1.0を返し、round(-0.5)は-1.0を返します。

    • dnの小数点の右側の桁数以上である場合、nの値が返されます。
    • dが指定されていないかゼロの場合、関数はnを小数点以下ゼロに丸めます。
    • dが負の値である場合、関数はnを小数点の左側に丸めます。小数点の左側にあるnの桁数がdの絶対値以下の場合、関数は0.0を返します。
    • dの値に関係なく、nが0の場合はゼロを返します(dがNULLである場合を除く)。
    • 次の場合にNULL値を返します:
      • いずれかの引数がNULL値である場合
      • いずれかの引数が数値に解決されない場合
    • いずれかの引数がNaNまたは無限大に解決される場合は、nを返します。
例:
SELECT round(n,d) FROM Userstocks 
nの値 dの値 出力
100.331 2 100.33
100.367 2 100.37
111.567 0.5 112.0
111.567 4 111.567
10.361 0または指定なし 10.0
111.331 -2 100.0
111.331 -4 0.0
-100.331 2 -100.33
-111.331 -2 -100.0