인프런 커뮤니티 질문&답변

정성훈님의 프로필 이미지
정성훈

작성한 질문수

다양한 사례로 익히는 SQL 데이터 분석

일/주/월/분기별 매출액 및 주문건수를 SQL로 구하기

date_trunc 사용 이유

작성

·

317

0

order_date 컬럼에 대해 쿼리를 할 때 date_trunc('day', order_date)::date; 로 사용하셨는데 date는 YYYY-MM-DD 형태인데 date_trunc()를 굳이 사용할 필요가 있나요?

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

실습 데이터인 orders 테이블의 order_date는 컬럼 타입이 date 이므로 date_trunc()를 따로 수행할 필요는 없습니다.

다만, (강의 영상에서도 언급드린것도 같습니다만... 어느 영상인지(몇분에 있는 건지) 잘 기억나진 않습니다)

일반적으로 주문 테이블의 경우 주문을 받은 일자인 order_date보다는 주문을 받은 시점인 order_time과 같은 시간이 포함된 timestamp 컬럼이 사용됩니다. 그래서 실습 예제는 시간이 포함된 컬럼을 가정하고 만들어진것입니다.

또한 실습용 DB인 postgresql은 Date 타입이 시간이 포함되어 있지 않지만 Oracle의 경우 Date 타입이 시간이 포함되어 있습니다. 이런 점들을 감안하여 일부러 date_trunc()를 적용하였습니다.

감사합니다.

 

정성훈님의 프로필 이미지
정성훈

작성한 질문수

질문하기