이 글에서 꼭 잡아야 할 것
날짜는 SQL에서 가장 자주 틀리는 데이터 타입 중 하나다. 오라클은 날짜 전용 함수가 풍부하기 때문에, 형 변환 대신 전용 함수를 정확히 쓰는 습관이 매우 중요하다.
날짜는 화면에 보이는 형식보다 실제 타입을 먼저 봐야 한다. 문자열처럼 보이더라도 DATE 컬럼일 수 있으며, 포맷은 출력 형식일 뿐 저장 타입 자체는 아니기 때문에 날짜 계산과 표시를 분리해서 생각해야 SQL이 안정적이다.
개념 지도와 이해 포인트
대표 문법 패턴
SELECT SYSDATE AS current_date,
ADD_MONTHS(SYSDATE, 3) AS after_three_months,
MONTHS_BETWEEN(SYSDATE, hire_date) AS months_worked
FROM employees;
SELECT hire_date + 7 AS review_date
FROM employees;
문법 읽는 포인트
- 날짜 + 숫자는 일(day) 단위 이동이다.
- `ADD_MONTHS`는 월 단위 계산에서 가장 안전한 기본 함수다.
- `MONTHS_BETWEEN` 결과는 소수일 수 있다.
핵심 용어
- SYSDATE
- ADD_MONTHS
- MONTHS_BETWEEN
입사 후 90일 평가일 계산하기
일 단위 이동과 월 단위 이동은 비슷해 보여도 의미가 다르다. 30일 후와 한 달 후는 같은 값이 아닐 수 있으므로, 문제 문장을 읽고 어떤 단위를 요구하는지 먼저 구분해야 한다.
SELECT employee_id,
hire_date,
hire_date + 90 AS probation_review_date,
ROUND(MONTHS_BETWEEN(SYSDATE, hire_date), 1) AS months_since_hire
FROM employees
ORDER BY hire_date;
수험 체크포인트와 자주 하는 실수
시험 체크포인트
- 날짜끼리 빼면 일 수 차이가 나온다는 점을 기억하자.
- `ADD_MONTHS`와 `MONTHS_BETWEEN`은 오라클 날짜 문제의 핵심 조합이다.
- 포맷 표시와 실제 DATE 타입을 혼동하지 않는 것이 중요하다.
자주 하는 실수
- 날짜를 문자열 함수로만 다루려는 실수
- 한 달과 30일을 같은 의미로 처리하는 실수
- SYSDATE가 사용자 PC 시간이 아니라 DB 서버 시간을 기준으로 한다는 점을 놓치는 실수
연결 학습
날짜 함수를 익히면 실무형 SQL 해석력이 크게 올라간다. 다음 챕터에서는 형 변환 함수와 일반 함수를 통해 데이터 타입 전환을 정리한다.
댓글 0
작성자 이름과 댓글 내용을 입력하면 바로 등록됩니다. 답글은 한 단계까지 지원하고, 댓글은 최대 200자까지 작성할 수 있습니다.
같은 카테고리에서 이어서 읽기
지금 읽은 글과 가까운 흐름의 글 5개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.
ORDER BY와 정렬, 별칭 활용
정렬은 결과를 해석하는 마지막 단계다. ORDER BY를 이해하면 보고서형 SQL을 더 읽기 쉽게 만들 수 있고, 여러 정렬 기준을 설계하는 감각도 생긴다.
문자 함수: UPPER, LOWER, SUBSTR, INSTR
문자 함수는 텍스트 데이터를 다듬고 비교하는 데 필수적이다. 이름, 주소, 코드, 이메일처럼 문자열 중심 데이터가 많은 실무에서는 사용 빈도가 매우 높다.
숫자 함수: ROUND, TRUNC, MOD, CEIL, FLOOR
숫자 함수는 계산 결과를 비즈니스 규칙에 맞게 다듬는 도구다. 반올림, 버림, 나머지 계산 같은 기본 기능만 정확히 익혀도 보고서와 통계형 SQL 품질이 높아진다.
형 변환 함수와 일반 함수: TO_CHAR, TO_DATE, CASE
데이터 타입을 맞추는 일은 SQL 정확도의 기본이다. 오라클에서는 TO_CHAR, TO_DATE, TO_NUMBER 같은 명시적 변환 함수와 CASE 같은 일반 함수가 함께 자주 쓰인다.
집계 함수: COUNT, SUM, AVG, MIN, MAX
집계 함수는 여러 행을 하나의 요약값으로 압축한다. 개수, 합계, 평균, 최솟값, 최댓값을 정확히 다루면 데이터 요약 문제를 빠르게 풀 수 있다.
댓글을 불러오는 중입니다.