[SQL] 숫자 함수 - ROUND, TRUNC, CEIL, FLOOR, MOD, DUAL테이블 핵심 정리
by 우와한개발자
[ 숫자 함수 ]
| 함수 | 설명 |
| ROUND(c숫자 또는 표현식, n) | n번째 소수점 자리로 반올림 |
| TRUNC(숫자 또는 표현식 n) | n번째 소수점 이후 버림 |
| CEIL(숫자 또는 표현식) | 올림 |
| FLOOR(숫자 또는 표현식) | 내림 |
| ABS(숫자 또는 표현식) | 절댓값 |
| SIGN(숫자 또는 표현식) | 부호 반환 (1, 0, -1) |
| MOD(m, n) | 나머지 |
| REMAINDER(m, n) | 나머지 (MOD와 유사) |
| POWER(m, n) | 거듭제곱 |
| SQRT(n) | 제곱근 |
| SIN(radian), COS(radian), TAN(radian) | 삼각함수 |
| SINH(radian), COSH(radian), TANH(radian) | 쌍곡선 함수 |
| EXP(n) | e의 n승 |
| LN(n) | 자연로그 |
| LOG(m, n) | 로그 (밑 m) |
1. ROUND, TRUNC
- ROUND(숫자 또는 표현식, n) : n번째 소수점 자리로 반올림
- TRUNC(숫자 또는 표현식, n) : n자리 절삭
ROUND(123.456, 2) -- 123.46 ← 3번째 자리 5 이상 → 올림
TRUNC(123.456, 2) -- 123.45 ← 3번째 자리 무조건 버림
ROUND(123.454, 2) -- 123.45 ← 3번째 자리 4 이하 → 내림
TRUNC(123.454, 2) -- 123.45 ←
ROUND(salary * 1.1, 0)
ROUND(AVG(salary), 0)
-- 날짜에도 사용 가능 (Oracle)
ROUND(SYSDATE, 'MM') -- 월 기준 반올림 (16일 이후면 다음달 1일)
TRUNC(SYSDATE, 'MM') -- 월 기준 버림 → 항상 1일
TRUNC(SYSDATE) -- 시간 제거 (날짜만)
2. CEIL, FLOOR
- CEIL(숫자 또는 표현식) : 올림
- FLOOR(숫자 또는 표현식) : 내림
CEIL(1.2)-- 2
FLOOR(1.8)-- 1
3. ABS
- ABS(숫자 또는 표현식) : 절댓값
ABS(-10)-- 10
4. MOD
- MOD(m, n) : m을 n으로 나눈 나머지
MOD(10,3)-- 1
5. POWER, SQRT
- POWER(m, n) : m의 n제곱
- SQRT(n) : 제곱근
POWER(2,3)-- 8
6. DUAL 테이블
- Oracle에서 제공하는 더미(가짜) 테이블
- 행 1개, 열 1개짜리 테이블
- Oracle이 자동으로 제공 (직접 만들 필요 없음)
- 값 계산, 함수 테스트할 때 주로 사용
- MySQL, PostgreSQL은 SELECT 문에서 FROM 절이 없이도 되지만 Oracle은 안 되기때문에 제공함
-- ❌ Oracle에서 오류
SELECT 1+1;
-- ✅ DUAL 사용
SELECT 1+1 FROM dual;
-- 함수 테스트
SELECT SYSDATE FROM dual;
SELECT ROUND(123.456, 2) FROM dual;
SELECT UPPER('hello') FROM dual;
-- 계산
SELECT 10 * 20 FROM dual;
-- 시퀀스 값 조회
SELECT sequence_name.NEXTVAL FROM dual;'데이터베이스 > SQL' 카테고리의 다른 글
| [SQL] NULL 치환 함수와 조건식 - NVL/ COALESCE/ LNNVL/ DECODE와 CASE~WHEN~THEN~ELSE~END (0) | 2026.03.20 |
|---|---|
| [SQL] 정규표현식 메타문자와 함수 - REGEXP_LIKE, REGEXP_SUBSTR, REGEXP_REPLAC (0) | 2026.03.20 |
| [SQL] 날짜와 변환함수 - SYSDATE, EXTRACT, TO_CHAR, TO_DATE 핵심 정리 (0) | 2026.03.19 |
| [SQL] 문자함수 - SUBSTR, INSTR, TRIM, REPLACE 등 핵심 정리 (0) | 2026.03.19 |
| [SQL] WHERE 절 기초 - 연산자, LIKE, IS NULL, IN/ANY/NOT, ORDER BY 핵심 정리 (0) | 2026.03.19 |
블로그의 정보
우와한개발자 님의 블로그
우와한개발자