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