カテゴリ:

数値関数 (四捨五入と切り捨て)

CEIL

入力式 の値を最も近い整数以上に四捨五入した値、または小数点以下の指定した桁数で最も近い等しい値以上に四捨五入した値を返します。

こちらもご覧ください:

FLOORROUNDTRUNCATE , TRUNC

構文

CEIL( <input_expr> [, <scale_expr> ] )

引数

入力式

操作する値または式です。データ型は、 FLOAT または NUMBER などの数値データ型のいずれかでなければなりません。

スケール式

出力の小数点の後に含める桁数です。式は-38~+38の整数に評価される必要があります。

デフォルトでは、 スケール式 はゼロになっています。これは、関数が小数点以下のすべての数字を削除することを意味します。

負のスケールについては、以下の使用上の注意をご参照ください。

戻り値

返される値のデータ型は NUMBER(精度、スケール)です。

入力スケールがゼロ以上の場合、出力スケールは通常入力スケールと一致します。

入力スケールが負の場合、出力スケールは0です。

例:
  • CEIL(3.14、1)によって返されるデータ型は NUMBER(4、1)です。

  • CEIL(3.14、0)によって返されるデータ型は NUMBER(4、0)です。

  • CEIL(33.33、-1)によって返されるデータ型は NUMBER(5、0)です。

スケールがゼロの場合、値は事実上整数になります。

使用上の注意

  • スケール式 が負の場合、数値を調整する小数点の の場所の数を指定します。例えば、スケールが-2の場合、結果は100の倍数になります。

  • スケール式 が入力式のスケールよりも大きい場合、関数は効果がありません。

  • 入力式 または スケール式 のいずれかが NULL の場合、結果は NULLです。

  • 負の数を切り上げると、値は0に近くなります。例えば、CEIL(-1.9)は-2ではなく-1です。

  • 数値を切り上げると、データ型の値の範囲外の数値になる場合、エラーが返されます。

この例は、 スケール式 パラメーターなしの関数を示しています。

SELECT CEIL(135.135), CEIL(-975.975);
+---------------+----------------+
| CEIL(135.135) | CEIL(-975.975) |
|---------------+----------------|
|           136 |           -975 |
+---------------+----------------+

この例は、負の数値に設定されたスケールを含む、 スケール式 パラメーターを使用した関数を示しています。

テーブルを作成して入力します。

CREATE TRANSIENT TABLE test_ceiling (n FLOAT, scale INTEGER);
INSERT INTO test_ceiling (n, scale) VALUES
   (-975.975, -1),
   (-975.975,  0),
   (-975.975,  2),
   ( 135.135, -2),
   ( 135.135,  0),
   ( 135.135,  1),
   ( 135.135,  3),
   ( 135.135, 50),
   ( 135.135, NULL)
   ;

出力:

SELECT n, scale, ceil(n, scale)
  FROM test_ceiling
  ORDER BY n, scale;
+----------+-------+----------------+
|        N | SCALE | CEIL(N, SCALE) |
|----------+-------+----------------|
| -975.975 |    -1 |       -970     |
| -975.975 |     0 |       -975     |
| -975.975 |     2 |       -975.97  |
|  135.135 |    -2 |        200     |
|  135.135 |     0 |        136     |
|  135.135 |     1 |        135.2   |
|  135.135 |     3 |        135.135 |
|  135.135 |    50 |        135.135 |
|  135.135 |  NULL |           NULL |
+----------+-------+----------------+