728x90
반응형
데이터를 다루다 보면 날짜를 바탕으로 집계를 하게 되는 경우가 빈번합니다. 그럴 때 데이터 자체가 월별 혹은 연도별로 집계되어 있다면 참 좋겠지만 여건상 일별 집계되어 있는 경우도 매우 드뭅니다. 하지만 우리는 데이터를 다루기로 한 이상 그런 경우에도 좌절하지 않고 날짜를 바탕으로 한 집계를 할 수 있습니다. 그럴 때 사용하기 아주 편한 함수인 DATE_FORMAT 함수를 소개해드립니다.
📅 DATE_FORMAT의 설명
- DATE_FORMAT은 데이터타입이 날짜 혹은 타임스탬프의 형태로 이루어진 컬럼을 내가 원하는 방식으로 변환하여 출력해 주는 함수를 의미합니다.
📅 DATE_FORMAT의 문법
- DATE_FORMAT은 (1)날짜컬럼과 (2)출력을 원하는 형식 이 두 가지의 변수를 활용하여 작성합니다.
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d')
FROM dual
-- 여기서 NOW()는 지금 시간을 반환해주는 함수입니다.
📅 DATE_FORMAT의 포맷 기호
포맷문자 | 설명(예시) | 포맷문자 | 설명(예시) |
%Y | 4자리 년도(2024) | %y | 2자리 년도(24) |
%m | 0붙은 월(01,02,12) | %c | 0없는 월(1,2,12) |
%d | 0붙은 일(01,02,31) | %e | 0없는 일(1,2,31) |
%T | 시간(23:59:59) | %r | 시간 (11:59:59 PM) |
%H | 시간_24시(01,17,23) | %l | 시간_12시 (01,05,12) |
%i | 분(00) | %S | 초(00) |
📅 DATE_FORMAT의 사용 예시
- 날짜를 하이픈으로 표기하고 싶을 때
SELECT DATE_FORMAT('20240221', '%Y-%m-%d')
FROM dual
-- 출력 : 2024-02-21
- 날짜를 슬래시로 표기하고 싶을 때
SELECT DATE_FORMAT('20240221', '%Y/%m/%d')
FROM dual
-- 출력 : 2024/02/21
- 초단위 까지 표기하고 싶을 때
SELECT DATE_FORMAT('20240221123059', '%Y-%m-%d %H:%i:%S')
FROM dual
-- 출력 : 2024-02-21 12:30:59
728x90
반응형
'데이터분석' 카테고리의 다른 글
[SQL] 날짜 다루기_EXTRACT, DATE_ADD (0) | 2024.02.22 |
---|---|
[SQL] IF,IFNULL,COALECSE, CASE 조건문 활용법 (0) | 2024.02.16 |
[SQL 기본] 예제_프로모션 페이백 대상자 선정 (0) | 2024.02.16 |
[SQL 기본] 예제_마케팅 채널 최적화(2) (0) | 2024.02.08 |
[SQL 기본] 예제_마케팅 채널 최적화 (1) | 2024.02.07 |