나는 각 회사마다 개별 시간대가있는 회사 테이블이 있습니다. 예를 들어 - 사 1 시간대 UTC + 10 기업을 가지고 2 - 테이블 companies
현장 TIME_ZONE 및 America/Los_Angeles
같은 영역의 저장 약어가 2시간대가있는 Postgres 쿼리
(나는 UTC 경우에서 저장 오프셋 값을 추가 필드를 추가 할 수 있습니다 + UTC 필요한 것). 예를 들어 시간대 (UTC-0) 없이 TIMESTAMP를 저장 시작일 필드
하고있다 테이블 요청 - id | company_id | start_date(utc-0) 1 1 21-03-16 02-00 // added for company `21-03-16 12-00` 2 2 21-03-16 23-00 // added for company `22-03-16 01-00` 3 1 20-03-16 13-00 // added for company `20-03-16 23-00` 4 1 21-03-16 23-00 // added for company `22-03-16 09-00
내가 21-하기 21-03-16 00-00에서 시작 레코드를 선택합니다 03-16 23-59 각 회사의 시간대 고려. 내가 사용할 경우
하지만 -
select * from request where start_date between '2016-03-21 00:00:00.000000' AND '2016-03-21 23:59:59.999999'
을 내가 요청을받을 경우 ID = 2
하지만 이러한 요청은 각 회사에 대한 사실 22-03-16을 추가 한 4.
어떤 제안을 통해이 상황을 하나의 선택으로 결정할 수 있습니까? 많은 감사합니다.
을 : 00 : 00Z 'AND'2016-03-21 23 : 59 : 59.999999Z''? OFC는 모든 행에 'time_zone'에 PostgreSQL에서 허용 된 시간대가있을 때만 작동합니다. 'CHECK ((timestamp '2000-01-01 00:00:00'AT TIME ZONE time_zone) IS NOT NULL '과 같은) check 제약 조건을 정의하여'time_zone'의 유효성을 검사 할 수 있습니다. – pozs