이 글에서 꼭 잡아야 할 것
데이터 타입을 맞추는 일은 SQL 정확도의 기본이다. 오라클에서는 TO_CHAR, TO_DATE, TO_NUMBER 같은 명시적 변환 함수와 CASE 같은 일반 함수가 함께 자주 쓰인다.
형 변환은 데이터를 다른 타입으로 옮기는 작업이고, 일반 함수는 그 데이터를 원하는 의미로 다시 해석하는 작업이다. 둘을 함께 익혀 두면 날짜를 보기 좋게 출력하고, 숫자를 구간별 등급으로 나누는 등 보고서형 SQL을 자연스럽게 만들 수 있다.
개념 지도와 이해 포인트
대표 문법 패턴
SELECT employee_id,
TO_CHAR(hire_date, 'YYYY-MM-DD') AS hire_date_text,
TO_CHAR(salary, '999,999') AS salary_text
FROM employees;
SELECT TO_DATE('2026-04-16', 'YYYY-MM-DD') AS target_date
FROM dual;
문법 읽는 포인트
- `TO_CHAR`는 날짜와 숫자를 문자열로 바꿀 때 많이 사용한다.
- `TO_DATE`는 문자열을 DATE 타입으로 변환한다.
- `CASE`는 복잡한 분기를 SQL 안에서 읽기 좋게 표현한다.
핵심 용어
- TO_CHAR
- TO_DATE
- CASE
급여 구간을 라벨로 분류하기
형 변환과 CASE를 함께 쓰면 데이터가 훨씬 읽기 쉬운 보고서로 바뀐다. 특히 날짜 포맷과 금액 포맷, 구간 라벨링은 실무에서 매우 자주 결합된다.
SELECT employee_id,
salary,
CASE
WHEN salary >= 10000 THEN 'HIGH'
WHEN salary >= 5000 THEN 'MID'
ELSE 'LOW'
END AS salary_band
FROM employees
ORDER BY salary DESC;
수험 체크포인트와 자주 하는 실수
시험 체크포인트
- 날짜 문자열을 그대로 비교하지 말고 `TO_DATE`로 타입을 맞추는 습관을 들이자.
- 포맷 마스크는 문제에서 자주 물으므로 자주 쓰는 형태를 눈에 익혀 두자.
- `CASE`는 위에서부터 조건을 평가하므로 순서가 중요하다.
자주 하는 실수
- 형 변환 없이 문자열 날짜를 비교하는 실수
- `CASE` 조건 순서를 뒤집어 넓은 범위가 먼저 잡히는 실수
- 출력용 포맷과 저장 타입을 같은 개념으로 보는 실수
연결 학습
형 변환과 조건 분기를 익히면 집계 학습도 훨씬 자연스럽다. 다음 챕터에서는 합계와 평균을 만드는 집계 함수를 정리한다.
댓글 0
작성자 이름과 댓글 내용을 입력하면 바로 등록됩니다. 답글은 한 단계까지 지원하고, 댓글은 최대 200자까지 작성할 수 있습니다.
같은 카테고리에서 이어서 읽기
지금 읽은 글과 가까운 흐름의 글 5개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.
문자 함수: UPPER, LOWER, SUBSTR, INSTR
문자 함수는 텍스트 데이터를 다듬고 비교하는 데 필수적이다. 이름, 주소, 코드, 이메일처럼 문자열 중심 데이터가 많은 실무에서는 사용 빈도가 매우 높다.
숫자 함수: ROUND, TRUNC, MOD, CEIL, FLOOR
숫자 함수는 계산 결과를 비즈니스 규칙에 맞게 다듬는 도구다. 반올림, 버림, 나머지 계산 같은 기본 기능만 정확히 익혀도 보고서와 통계형 SQL 품질이 높아진다.
날짜 함수: SYSDATE, ADD_MONTHS, MONTHS_BETWEEN
날짜는 SQL에서 가장 자주 틀리는 데이터 타입 중 하나다. 오라클은 날짜 전용 함수가 풍부하기 때문에, 형 변환 대신 전용 함수를 정확히 쓰는 습관이 매우 중요하다.
집계 함수: COUNT, SUM, AVG, MIN, MAX
집계 함수는 여러 행을 하나의 요약값으로 압축한다. 개수, 합계, 평균, 최솟값, 최댓값을 정확히 다루면 데이터 요약 문제를 빠르게 풀 수 있다.
GROUP BY와 HAVING으로 그룹별 집계하기
집계 함수의 진짜 힘은 그룹 단위 요약에서 드러난다. GROUP BY는 데이터를 기준별로 묶고, HAVING은 집계 결과를 다시 필터링한다.
댓글을 불러오는 중입니다.