나는 몇 가지 다른 요율을 가진 예약 플랫폼에서 일하고 있습니다. 이 요율은 시간대, 요일 및 일로 결정됩니다.날짜/시간 표시
- 월요일부터 금요일까지 오전 9시 오후 5시
- 에, 토요일과 일요일 오전 9시
- 토요일과 일요일 자정 오후 5
- 토요일과 일요일 오전 9 : 여기에 포함 된 간격 유형의 몇 가지 예입니다 언제 자정 언제
- 12월 23일 & 24 일,
- 12월 26일 & 27 일 오후 5시,
특정 날짜에 다른 실효 환율을 쿼리 할 수 있도록 이것을 표현하는 가장 좋은 방법은 무엇입니까?
지금까지 내가 수행 한 방법은 두 개의 배열 유형 열 days_of_week[]
및 hours_of_day[]
을 사용하여 각 비율이 적용되는 요일/시간으로 채우는 것입니다. 12 월과 같은 특수한 경우를 설명하기 위해 필드에도 valid_from
과 invalid_after
이 있지만, 매년 새로운 입력이 필요합니다.
간격과 같은 here에 대한 datetime 함수를 살펴 보았지만 해결할 수있는 것처럼 보지 못했습니다.
[범위 유형] (https://www.postgresql.org/docs/current/static/rangetypes.html)의 tstzrange를 참조하십시오. – Adam
tstzrange는 특정 기간 (예 : 10 월 1 일 ~ 20 일)의 범위에 해당하는 것 같습니다. –
의 일반 10 일 ~ 20 일이며 여러 OR이 작동하지 않습니다. –