- カテゴリ:
数値関数 (四捨五入と切り捨て)
CEIL¶
input_expr の値を最も近い整数以上に切り上げした値、または小数点以下の指定した桁数で最も近い等しい値以上に切り上げした値を返します。
- こちらもご参照ください。
構文¶
CEIL( <input_expr> [, <scale_expr> ] )
引数¶
input_exprThe value or expression to operate on. The data type must be one of the numeric data types, such as DECFLOAT, FLOAT, or NUMBER.
scale_exprThe number of digits the output includes after the decimal point.
デフォルトでは、
scale_exprはゼロになっています。これは、関数が小数点以下のすべての数字を削除することを意味します。For information about negative scales, see 使用上の注意.
戻り値¶
戻り値の型は入力型に基づいています。
入力式が FLOAT の場合、返される型は FLOAT です。
If the input expression is DECFLOAT, the returned type is DECFLOAT.
入力式が NUMBER の場合、返される型は NUMBER です。
入力スケールが一定の場合:
入力スケールが正の場合、返される型は入力スケールと等しいスケールを持ち、あらゆる可能性のある結果を包含するのに十分な大きさの精度があります。
入力スケールが負の場合、返される型のスケールは0です。
入力スケールが一定でない場合、返される型のスケールは入力式のスケールと同じになります。
スケールがゼロの場合、値は事実上 INTEGER になります。
例:
CEIL(3.14::FLOAT, 1)によって返されるデータ型は FLOAT です。
CEIL(3.14, 1)によって返される NUMBER はスケール1で、精度は少なくとも3です。
CEIL(-9.99, 0)によって返される NUMBER はスケール0で、精度は少なくとも2です。
CEIL(33.33, -1)によって返される NUMBER はスケール0で、精度は少なくとも3です。
使用上の注意¶
scale_exprが負の場合、数値を調整する小数点の 前 の場所の数を指定します。例えば、スケールが-2の場合、結果は100の倍数になります。scale_exprが入力式のスケールよりも大きい場合、関数は効果がありません。input_exprまたはscale_exprのいずれかが NULL の場合、結果は NULL です。負の数を切り上げると、値は0に近くなります。たとえば、 CEIL(-1.9) は-1であり、-2ではありません。
数値を切り上げるとデータ型の値の範囲外になる場合は、エラーが返されます。
例¶
この例は、 scale_expr パラメーターなしの関数を示しています。
SELECT CEIL(135.135), CEIL(-975.975); +---------------+----------------+ | CEIL(135.135) | CEIL(-975.975) | |---------------+----------------| | 136 | -975 | +---------------+----------------+
この例は、負の数値に設定されたスケールを含む、 scale_expr パラメーターを使用した関数を示しています。
テーブルを作成して入力します。
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 | +----------+-------+----------------+