반응형
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 |
29 | 30 | 31 |
Tags
- math
- Apache
- GIT
- django
- c#
- google apps script
- hive
- Google Spreadsheet
- string
- matplotlib
- Tkinter
- PostgreSQL
- gas
- Google Excel
- SQL
- array
- Mac
- list
- PySpark
- Java
- Kotlin
- numpy
- PANDAS
- Github
- dataframe
- Excel
- Python
- 파이썬
- Redshift
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