SQL Server/실기 정리

SQL Server 47강 - 날짜에서 일부 정보 추출하기

코딩하는냥이 2025. 6. 5. 12:01
반응형

이번 글에서는 날짜 컬럼에서 연도, 월, 일, 요일 등의 부분 값만 추출하는 방법을 배웠습니다.
통계, 그룹핑, 조건 검색 등 다양한 작업에서 매우 자주 사용되는 핵심 함수입니다.


📌 예제 코드 ①: DATEPART 함수

SELECT
    symbol, 
    last_crawel_date,
    DATEPART(YEAR, last_crawel_date) AS part_year,
    DATEPART(MONTH, last_crawel_date) AS part_month,
    DATEPART(DAY, last_crawel_date) AS part_day,
    DATEPART(WEEKDAY, last_crawel_date) AS part_weekday
FROM nasdaq_company;

💬 설명

  • DATEPART(단위, 날짜) : 지정한 날짜에서 해당 부분의 숫자 값을 반환
  • WEEKDAY는 요일 번호를 반환 (기본 기준: 일요일=1, 월요일=2, ...)

📌 예제 코드 ②: DATENAME 함수

SELECT
    symbol, 
    last_crawel_date,
    DATENAME(YEAR, last_crawel_date) AS name_year,
    DATENAME(MONTH, last_crawel_date) AS name_month,
    DATENAME(DAY, last_crawel_date) AS name_day,
    DATENAME(WEEKDAY, last_crawel_date) AS name_weekday
FROM nasdaq_company;

💬 설명

  • DATENAME(단위, 날짜) : 지정한 날짜에서 해당 부분의 문자열 값을 반환
  • MONTH, WEEKDAY 등은 이름(String) 형태로 반환됨
    (예: January, Friday 등)

📌 예제 코드 ③: 연/월/일 구하기

SELECT
    symbol,
    last_crawel_date,
    YEAR(last_crawel_date) AS year_col,
    MONTH(last_crawel_date) AS month_col,
    DAY(last_crawel_date) AS day_col
FROM nasdaq_company;

💬 설명

  • YEAR(), MONTH(), DAY() 함수는 각각 연도, 월, 일을 숫자로 반환
  • DATEPART()와 유사하지만 단일 기능으로 더 간단함

💡 포인트 정리

  • DATEPART() → 날짜의 일부를 숫자로 반환
  • DATENAME() → 날짜의 일부를 문자열로 반환
  • YEAR(), MONTH(), DAY() → 날짜의 구성 요소를 간단하게 추출할 때 사용
  • 요일 처리 시 SET DATEFIRST를 통해 시작 요일을 지정할 수 있음

📌 정리하자면, 이번 강의에서는 날짜/시간 데이터에서 일부만 분리해 사용하는 함수들을 배웠습니다.
특정 월, 요일, 분기별 통계를 낼 때 자주 사용되며,
DATEPART와 DATENAME은 조건 검색이나 출력 포맷 설정 시 매우 유용합니다.