[Postgresql] date_trunc()함수
- Database/Postgresql
- 2019. 5. 8. 21:19
date_trunc() 함수
trunc하면 보통 버림함수를 많이들 생각합니다.
예)
- 어떤 소수자리 숫자가 들어와도.
select trunc(1.23232412...) -> 1
select trunc(1.99999999...) -> 1
소수점 숫자는 버리는 trunc함수입니다.
사실 뒤의 숫자를 버리는 것이 아니라 0으로 만들어 버리는 것인데요.
1.0000000 어떤가요? 1과 1.0000
date_trunc함수는 이 trunc함수와 아주 유사합니다.
trunc함수는 무작정 숫자를 정수화하지만 특정 소수점까지는 유효하도록 표현할 수 있습니다.
예)
select trunc(1.2323,2) -> 1.23
select trunc(1.2323,3) -> 1.232
이처럼 말이죠.
- date_trunc(text, timestamp)
date_trunc함수는 첫번째 인자로 [year,month,day,hour,minute,second,millisecond] 와 같이 날짜 키워드가 옵니다.
뒤의 인자는 timestamp 데이터가 옵니다. 그 시점의 text 키워드까지의 값을 0(default 처리) 합니다.
예)
select date_trunc('month', '2019-04-01 12:12:12::timestamp') -> 2019-04-01 00:00:00
select date_trunc('month', '2019-04-05 12:12:12::timestamp') -> 2019-04-01 00:00:00
어떤느낌인지 감이 잡히시나요??
예)
select date_trunc('year', '2019-04-01 12:12:12::timestamp') -> 2019-01-01 00:00:00
year로 지정해두면 두번쨰 인자로 들어온 날짜의 year까지만을 유효하게 취하고 이하는 default 값이 됩니다.
예)
select date_trunc('minute', '2019-04-01 12:12:12::timestamp') -> 2019-04-01 12:12:00
'Database > Postgresql' 카테고리의 다른 글
[Postgresql] 컬럼 추가 / 변경 / 삭제 쿼리 정리 (ALTER TABLE) (3) | 2020.02.18 |
---|---|
Postgresql JSON 데이터 타입 handling (0) | 2019.12.20 |
[Postgresql] pgadmin을 이용한 database 백업 및 복구(DB 이전) (0) | 2019.05.20 |
[Postgresql] 트리거 생성 및 확인하기 (0) | 2019.05.19 |
[Postgresql] recursive 문이란?? 개념 및 예제 (0) | 2019.04.27 |