Oracle database(오라클 데이타베이스) 숫자 함수 목록 (Numeric Functions)
오라클 SQL작성 시 빼놓을 수 없는 숫자 함수들입니다.
Database
1. 반올림 및 절삭 함수
| 지정된 소수점 자리(d)에서 반올림 | 
ROUND(n, d) | 
| 지정된 소수점 자리(d)에서 절삭 | 
TRUNC(n, d) | 
SELECT ROUND(123.456, 2) FROM DUAL;
-- 123.46
SELECT TRUNC(123.456, 2) FROM DUAL;
-- 123.45
2. 올림 및 내림 함수
| 올림 (큰 정수) | 
CEIL(n) | 
| 내림 (작은 정수) | 
FLOOR(n) | 
SELECT CEIL(12.3) FROM DUAL;
-- 13
SELECT FLOOR(12.7) FROM DUAL;
-- 12
3. 부호 및 절댓값 함수
| SIGN(n) | 
숫자의 부호 반환 (-1, 0, 1) | 
SELECT SIGN(-10) FROM DUAL; → -1 | 
| ABS(n) | 
절댓값 반환 | 
SELECT ABS(-100) FROM DUAL; → 100 | 
SELECT SIGN(-10) FROM DUAL;
-- -1
SELECT ABS(-100) FROM DUAL;
-- 100
4. 나머지 및 나눗셈 함수
| a를 b로 나눈 나머지 반환 | 
MOD(a, b) | 
| a를 b로 나눈 나머지 반환 (MOD와 유사) | 
REM(a, b) | 
SELECT MOD(10, 3) FROM DUAL;
-- 1
SELECT REM(10, 3) FROM DUAL;
-- 1
5. 거듭제곱 및 제곱근 함수
| a의 b제곱 반환 | 
POWER(a, b) | 
| n의 제곱근 반환 | 
SQRT(n) | 
SELECT POWER(2, 3) FROM DUAL;
-- 8
SELECT SQRT(16) FROM DUAL;
-- 4
6. 로그 및 지수 함수
| n의 자연로그 (log e) | 
LN(n) | 
| 밑 b의 n에 대한 로그 값 | 
LOG(b, n) | 
| e의 n제곱 반환 | 
EXP(n) | 
SELECT LN(10) FROM DUAL;
SELECT LOG(10, 1000) FROM DUAL;
-- 3
SELECT EXP(1) FROM DUAL;
-- 2.7182818
7. 난수 생성 함수
| min과 max 사이의 난수 반환 | 
DBMS_RANDOM.VALUE(min, max) | 
| -2^31 ~ 2^31-1 범위의 정수 반환 | 
DBMS_RANDOM.RANDOM | 
SELECT DBMS_RANDOM.VALUE(1, 100) FROM DUAL;
SELECT DBMS_RANDOM.RANDOM FROM DUAL;
8. 기타 수학 함수
| 가장 큰 값 반환 | 
GREATEST(n1, n2, …) | 
| 가장 작은 값 반환 | 
LEAST(n1, n2, …) | 
SELECT GREATEST(10, 20, 30) FROM DUAL;
-- 30
SELECT LEAST(10, 20, 30) FROM DUAL;
-- 10