ROUND 함수
ROUND 숫자 함수는 제공된 값을 주어진 자리 수까지 반올림합니다.
구문
precision이 양수인 경우 source_number는 소수점 오른쪽의 precision 자리로 반올림됩니다. precision이 음수인 경우 결과는 소수점 왼쪽의 precision 자리의 절대 값으로 반올림된 source_number입니다.
source_number는 임의의 내장 숫자 데이터 유형일 수 있고, precision은 정수여야 합니다. source_number 가 NULL이 아닌 경우(그 경우에는 결과가 NULL임), 결과는 source_number 매개변수와 동일한 데이터 유형입니다.
이것은 함수의 결과가
다음과 같음을 의미합니다.
- source_number가 INTEGER인 경우 INTEGER
- source_number가 FLOAT인 경우 FLOAT
- source_number가 DECIMAL인 경우 DECIMAL
RoundingMode
RoundingMode는
다음 값 중 하나를 사용할 수 있습니다.
다음 표는 여러 가지 반올림 모드에서
0의 정밀도를 갖는 반올림 조작을 요약한 것입니다.
입력 숫자 | ROUND UP | ROUND DOWN | ROUND CEILING | ROUND FLOOR | ROUND HALF UP | ROUND HALF DOWN | ROUND HALF EVEN |
---|---|---|---|---|---|---|---|
5.5 | 6 | 5 | 6 | 5 | 6 | 5 | 6 |
2.5 | 3 | 2 | 3 | 2 | 3 | 2 | 2 |
1.6 | 2 | 1 | 2 | 1 | 2 | 2 | 2 |
1.1 | 2 | 1 | 2 | 1 | 1 | 1 | 1 |
1.0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
-1.0 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
-1.1 | -2 | -1 | -1 | -2 | -1 | -1 | -1 |
-1.6 | -2 | -1 | -1 | -2 | -2 | -2 | -2 |
-2.5 | -3 | -2 | -2 | -3 | -3 | -2 | -2 |
-5.5 | -6 | -5 | -5 | -6 | -6 | -5 | -6 |
기본 반올림 모드(ROUND_HALF_EVEN)를
사용하는 예:
ROUND(27.75, 2)
는 다음을 리턴합니다.27.75
ROUND(27.75, 1)
는 다음을 리턴합니다.27.8
ROUND(27.75, 0)
는 다음을 리턴합니다.28
ROUND(27.75, -1)
는 다음을 리턴합니다.30
0의 정밀도를 갖고 반올림
모드를 사용하는 예:
ROUND(5.5, 0 MODE ROUND_UP);
는 다음을 리턴합니다.6
ROUND(5.5, 0 MODE ROUND_DOWN);
는 다음을 리턴합니다.5
ROUND(5.5, 0 MODE ROUND_CEILING);
는 다음을 리턴합니다.6
ROUND(5.5, 0 MODE ROUND_FLOOR);
는 다음을 리턴합니다.5
ROUND(5.5, 0 MODE ROUND_HALF_UP);
는 다음을 리턴합니다.6
ROUND(5.5, 0 MODE ROUND_HALF_DOWN);
는 다음을 리턴합니다.5
ROUND(5.5, 0 MODE ROUND_HALF_EVEN);
는 다음을 리턴합니다.6
ROUND(2.5, 0 MODE ROUND_UP);
는 다음을 리턴합니다.3
ROUND(2.5, 0 MODE ROUND_DOWN);
는 다음을 리턴합니다.2
ROUND(2.5, 0 MODE ROUND_CEILING);
는 다음을 리턴합니다.3
ROUND(2.5, 0 MODE ROUND_FLOOR);
는 다음을 리턴합니다.2
ROUND(2.5, 0 MODE ROUND_HALF_UP);
는 다음을 리턴합니다.3
ROUND(2.5, 0 MODE ROUND_HALF_DOWN);
는 다음을 리턴합니다.2
ROUND(2.5, 0 MODE ROUND_HALF_EVEN);
는 다음을 리턴합니다.2
가능한 경우, 스케일은 주어진 값으로 변경됩니다. 제공된 스케일 내에서 결과를 표시할 수 없는 경우, 결과는 INFINITY입니다.