SQL 데이터타입 관련 0 0 3,750

by 나기카프 [SQL Query] [2024.09.02 16:30:30]


안녕하세요.
파티셔닝 된 테이블 조회 쿼리 수정하다가 막히는 부분이 있어서 질문드립니다.

데이터베이스는 PostgreSQL을 사용하고 있습니다.
날짜(Timestamp)를 key로 Range 파티셔닝 된 테이블에서 

```
AND date >= DATE_TRUNC('day', current_date - INTERVAL '1 day')
AND date < DATE_TRUNC('day', current_date)
```
```
AND date >= DATE_TRUNC('day', current_date - INTERVAL '1 day')::DATE
AND date < DATE_TRUNC('day', current_date)::DATE
```
해당 조건으로 조회 시 Partition Pruning이 동작하지 않고, 8월 테이블까지 스캔합니다.

그런데
```
AND date >= '2024-09-01'
AND date < '2024-09-02'
```
리터럴로 조회하면 9월 테이블만 스캔합니다.

Timestamp, Date 의 형변환 문제인가요?
제가 모르는 부분이 있어서 질문 드립니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입