Database/Postgresql
[Postgresql] 날짜시간 함수, date_part() 사용법 정리
코딩하는흑구
2021. 2. 6. 02:36
오늘은 Postgresql에서 특정날짜부분을 추출하는 extract() 함수를 소개해보고자 합니다.
이미 이전 포스팅에서 extract() 함수에 대해서 사용법을 설명한 적이 있었는데요!
거의 유사한 기능을 제공해서 사실 큰 의미는 없지만 편하신 방법 혹은 표현을 사용하시면 좋을 것 같아요!
문법
해당 함수는 아래와 같이 사용할 수 있습니다.
DATE_PART(field, source)
field란 year, month, day 와 같은 날짜/시간 형태의 요소를 말하고
source란 실제 시간값인 timestamp 값을 의미합니다. '2020-01-01 10:00:00' 와 같은 값입니다.
간단히 문법은 살펴보았으니 이제 어떤 인자들이 필요한지 확인해보도록 하겠습니다.
필요인자 정리
field는 위에서 간단히 설명했듯이 날짜/시간 값에서 추출할 필드를 지정하는 인자입니다.
이 부분은 extract 함수의 인자와 같습니다.
여러가지 인자가 있지만 실무에 자주 사용될 법한 인자들을 정리해보았습니다.
Field 값 | 의미 |
CENTURY | 세기(21세기, 20세기) |
DAY | 1~31에 해당하는 해당 월의 일 |
DOW | 일요일(0) ~ 토요일(6)까지 반환하는 값 |
DOY | 1~366 까지 해당하는 연중일수 |
EPOCH | 1970년 1월 1일 00:00:00 UTC 부터 현재까지의 초(unixtime이란 -> sas-study.tistory.com/94) |
HOUR | 0 ~ 23 에 해당하는 시간정보 |
MILLISECONDS | 1/1000에 해당하는 밀리초 |
MINUTE | 0 ~ 59에 해당하는 분 정보 |
MONTH | 1 ~ 12에 해당하는 월 정보 |
QUARTER | 1(1~3월), 2(4~6월), 3(7~9월), 4(10~12월) 분기로 나뉘어지는 정보 |
SECOND | 0 ~ 59에 해당하는 초 정보 |
WEEK | 주 정보 (1월 1일 : 1, 12월 31일: 52~53) |
YEAR | 연도 정보. |
반환 타입
double precision (0.0)
사용 예제
select date_part('CENTURY' , '2021-02-03 15:23:22.23242'::timestamp); -- 21 select date_part('DAY' , '2021-02-03 15:23:22.23242'::timestamp); -- 3 select date_part('DOW' , '2021-02-03 15:23:22.23242'::timestamp); -- 3 select date_part('DOY' , '2021-02-03 15:23:22.23242'::timestamp); -- 34 select date_part('EPOCH' , '2021-02-03 15:23:22.23242'::timestamp); -- 1612365802.23242 select date_part('HOUR' , '2021-02-03 15:23:22.23242'::timestamp); -- 15 select date_part('MILLISECONDS', '2021-02-03 15:23:22.23242'::timestamp); -- 22232.42 select date_part('MINUTE' , '2021-02-03 15:23:22.23242'::timestamp); -- 23 select date_part('MONTH' , '2021-02-03 15:23:22.23242'::timestamp); -- 2 select date_part('QUARTER' , '2021-02-03 15:23:22.23242'::timestamp); -- 1 select date_part('SECOND' , '2021-02-03 15:23:22.23242'::timestamp); -- 22.23242 select date_part('WEEK' , '2021-02-03 15:23:22.23242'::timestamp); -- 5 select date_part('YEAR' , '2021-02-03 15:23:22.23242'::timestamp); -- 2021
해당 글은 www.postgresqltutorial.com/postgresql-date_part/ 사이트의 내용을 정리한 내용입니다. 추가적으로 다른 요소를 확인하고 싶으신 분들은 위 사이트를 참조해주세요.