-
6.3 숫자함수
- 숫자 데이터를 가공하는 함수
6.3.1 ROUND
- 대상 숫자를 반올림한다. 반올림할 위치를 지정하지 않으면 소수점 아래 첫째 자리에서 반올림.
ROUND({숫자}, [반올림 위치])
{} : 필수, [] : 선택
SELECT ROUND(1234.5678) AS ROUND, ROUND(1234.5678, 0) AS ROUND_0, ROUND(1234.5678, 1) AS ROUND_1, ROUND(1234.5678, 2) AS ROUND_2, ROUND(1234.5678, -1) AS ROUND_M1, ROUND(1234.5678, -2) AS ROUND_M2 FROM dual;
6.3.2 TRUNC
- 대상숫자를 지정된 자리부터 버림 처리. 지정하지 않으면 소수점 첫째 자리에서 버림.
TRUNC({숫자}, [버림 위치])
SELECT TRUNC(1234.5678) AS TRUNC, TRUNC(1234.5678, 0) AS TRUNC_0, TRUNC(1234.5678, 1) AS TRUNC_1, TRUNC(1234.5678, 2) AS TRUNC_2, TRUNC(1234.5678, -1) AS TRUNC_M1, TRUNC(1234.5678, -2) AS TRUNC_M2 FROM dual;
6.3.3 CEIL, FLOOR
- CEIL : 대상 숫자와 가장 가까운 큰 정수 반환. 소수점 1의 자리에서 올림과 유사.
- FLOOR : 대상 숫자와 가장 가까운 작은 정수 반환. 소수점 1의 자리에서 버림과 유사.
CEIL({숫자}) FLOOR({숫자})
SELECT CEIL(3.14), FLOOR(3.14), CEIL(-3.14), FLOOR(-3.14) FROM dual;
양수, 음수에 따른 반환 결과 차이를 유의할 것
6.3.4 MOD
- 한 숫자를 다른 숫자로 나눈 나머지(정수)를 반환
MOD({나눗셈의 대상 숫자(피제수)}, {나눌 숫자(제수)}
SELECT MOD(15, 6), MOD(10, 2), MOD(11, 2) FROM dual;
다른 언어에서는 %를 나머지 연산자로 기본 제공하는 경우가 많은데, DB언어에서는 지원하지 않는 게 아쉽다. 굉장히 활용도 많은 녀석인데.
'Oracle' 카테고리의 다른 글
7.2 GROUP BY : 결과 값을 원하는 열로 묶어서 출력 (0) 2023.08.18 7. 다중행 함수와 데이터 그룹화 (0) 2023.08.18 6.2 문자 함수 (0) 2023.08.01 6.1 오라클 데이터베이스 함수의 종류 (0) 2023.07.31 5. 집합연산자: UNION, UNION ALL, MINUS, INTERSECT (0) 2023.07.31