- 카테고리:
숫자 함수 (반올림 및 잘림)
CEIL¶
input_expr
의 값을 가장 가까운, 같거나 큰 정수로 반올림하거나, 소수점 이하의 지정된 자릿수를 가진 가장 가까운, 같거나 큰 값으로 반환합니다.
- 참고 항목:
구문¶
CEIL( <input_expr> [, <scale_expr> ] )
인자¶
input_expr
연산할 값 또는 식입니다. 데이터 타입은 FLOAT 또는 NUMBER와 같은 숫자 데이터 타입 중 하나여야 합니다.
scale_expr
출력이 소수점 뒤에 포함해야 하는 자릿수입니다. 식은 -38에서 +38 사이의 정수로 평가되어야 합니다.
기본
scale_expr
은 0이며, 이는 함수가 소수점 이하의 모든 숫자를 제거함을 의미합니다.스케일에 대한 정보는 아래의 사용법 노트를 참조하십시오.
반환¶
반환 형식은 입력 형식을 기반으로 합니다.
입력 식이 FLOAT이면 반환되는 타입도 FLOAT입니다.
입력 식이 NUMBER이면 반환되는 타입도 NUMBER입니다.
입력 소수 자릿수가 상수인 경우:
입력 소수 자릿수가 양수인 경우 반환되는 타입은 입력 소수 자릿수과 동일한 소수 자릿수를 가지며 가능한 모든 결과를 포함할 수 있을 만큼 큰 전체 자릿수를 가집니다.
입력 소수 자릿수가 음수인 경우 반환되는 타입의 소수 자릿수는 0입니다.
입력 소수 자릿수가 상수가 아닌 경우 반환되는 타입의 소수 자릿수는 입력 식의 소수 자릿수와 동일합니다.
소수 자릿수가 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)은 -2가 아니라 -1입니다.
숫자를 올림하여 데이터 타입의 값 범위를 벗어나면 오류가 반환됩니다.
예¶
이 예는 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 | +----------+-------+----------------+