DB에 저장된 테이블에 포함된 날짜 컬럼을 기준으로
각 날짜를 요일코드와 요일로 변환해 보자.
날짜/시간 데이터를 이용하여 요일 코드 구하기
extract 함수
날짜/시간 데이터에서 year(년도), month(월), day(일)과 같은 요소를 추출한다.
DOW/ISODOW 함수
DOW/ISODOW(timestamp)
timestamp(날짜 및 시간 정보)를 인수로 받아 해당 날짜의 ISO 표준에 따라 1부터 7까지의 숫자로 변환한다.
select extract(DOW FROM CURRENT_DATE); #일요일(0) ~ 토요일(6)
select extract(ISODOW FROM CURRENT_DATE); #월요일(1) ~ 일요일(7)
CAST 함수
cast(value as type)
cast 함수는 형 변환을 도와주는 함수이다.
형 변환은 PostgreSQL에서 지원하는 :: 이용해도 된다.
select extract(ISODOW FROM cast(etl_ymd as date)) as 요일코드
select extract(ISODOW FROM etl_ymd::date) as 요일코드
날짜/시간 데이터를 이용하여 요일 구하기
CASE WHEN ~ END
CASE WHEN A THEN '1'
WHEN B THEN '2' ELSE '3'
END
CASE WHEN 절은 WHEN에 해당하는 값을 THEN에 해당하는 값으로 변환해 주는 것이다.
extract DOW ~ / extract ISODOW ~ 어느 기준인지 확인 후 CASE WHEN ~ END 문을 작성하여 요일을 구한다.
select case extract(ISODOW FROM a.etl_ymd::date) when '1' then '월요일'
when '2' then '화요일'
when '3' then '수요일'
when '4' then '목요일'
when '5' then '금요일'
when '6' then '토요일'
when '7' then '일요일' end 요일
[참고]
https://itcoin.tistory.com/172
https://brownbears.tistory.com/309
'분석가 Step 1. 데이터 분석 > SQL' 카테고리의 다른 글
[PostgreSQL] UNION과 UNION ALL (0) | 2023.07.31 |
---|---|
SQL, 실무에 적용하기 위한 연습 사이트 W3Schools (0) | 2023.07.27 |
[PostgreSQL] 날짜 데이터 다루기 (0) | 2023.07.04 |
PostgreSQL 설치, 데이터베이스와 연동하기 (0) | 2023.06.29 |
SQL 실력 향상을 위한 해커랭크(HackerRank) 시작하기 (0) | 2023.03.22 |