반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- PySpark
- numpy
- PANDAS
- google apps script
- dataframe
- matplotlib
- c#
- 파이썬
- Google Spreadsheet
- Apache
- Google Excel
- Java
- Mac
- Kotlin
- array
- Github
- hive
- string
- Tkinter
- SQL
- PostgreSQL
- GIT
- django
- list
- Redshift
- gas
- Python
- Excel
- math
Archives
- Today
- Total
달나라 노트
Redshift : Week truncate (주차별로 truncate하기, 일요일 시작 주차 truncate) 본문
SQL/Redshift
Redshift : Week truncate (주차별로 truncate하기, 일요일 시작 주차 truncate)
CosmosProject 2024. 7. 25. 21:18728x90
반응형
어떤 날짜에 대해 해당 주차의 시작 날짜로 truncate을 하고 싶다면 크게 2가지 방법이 있습니다.
오늘 날짜가 2024-07-25 (목)이라고 가정하겠습니다.
1. date_trunc 함수 사용
date_turnc('week', current_date)
;
-- Result
2024-07-22
date_trunc() 함수는 월요일을 일주일의 시작으로 간주합니다.
오늘이 2024-07-25(목)이므로 같은 주의 월요일로 truncate을 합니다.
따라서 위 결과는 2024-07-22가 됩니다.
https://cosmosproject.tistory.com/170
2. date_part 함수 사용
select current_date - date_part('dow', current_date)::bigint
;
-- Result
2024-07-21
date_part 함수는 날짜의 특정 부분만을 추출해줍니다.
date_part('dow', ~)는 day of week의 약자로 무슨 요일인지를 숫자로 환산해서 나타내줍니다.
Sun = 0 / Mon = 1 / Tue = 2 / Wed = 3 / Thu = 4 / Fri = 5 / Sat = 6
각 요일별 숫자는 위와 같습니다.
current_date가 2024-07-25 (목) 이므로
date_part('dow', current_date)::bigint는 4를 return할겁니다.
current_date인 2024-07-25에서 4를 빼면 2024-07-21 (일)이 return됩니다.
이렇듯 일요일을 한 주의 시작으로 하여 truncate을 구현할 경우 date_part 함수를 사용할 수 있습니다.
https://cosmosproject.tistory.com/307
728x90
반응형
'SQL > Redshift' 카테고리의 다른 글
Comments