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
Postgresql - 날짜의 요일가져오기
오라클에서 쓰던대로 to_date -> to_char 신공을 쓰다가 범위초과라는 메시지를 보고 구글링하다가 정리 Postgresql을 쓸때 날짜 계산, 특히 to_char 쓰다가 잘안되는 경우가 있다. 유용하게 쓸수있는 요
itcoin.tistory.com
https://brownbears.tistory.com/309
[PostgreSQL] 타입 변환 (type cast)
PostgreSQL에서 타입을 변경하는 함수는 아래와 같이 지원됩니다. CAST()먼저 SQL 표준인 CAST()입니다.CAST(value AS type) -- 예시 CAST(1234 AS TEXT)::다른 한가지는 PostgreSQL에서 지원하는 :: 입니다.value::type --
brownbears.tistory.com
[DATABASE/POSTGRESQL] EXTRACT 함수 : 현재 날짜 요일 구하기
■ EXTRACT 함수를 사용해 현재 날짜 요일을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL) SELECT EXTRACT(DOW FROM CURRENT_DATE); -- 일요일(0) ~ 토요일(6) SELECT EXTRACT(ISODOW FROM CURRENT_DATE); -- 월요일(1) ~ 일요일(7)
icodebroker.tistory.com
'분석가 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 |