Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WITH target_date AS (
- SELECT '<<PUT DATE HERE>>'::TEXT AS date_string
- ),
- target_dow AS (
- SELECT CASE WHEN date_part('dow', (SELECT date_string::TIMESTAMP FROM target_date)) = 0 THEN 7 ELSE date_part('dow', (SELECT date_string::TIMESTAMP FROM target_date)) END AS array_id
- ),
- dow_closed AS (
- SELECT id, ARRAY[dow_0_open = dow_0_close,dow_1_open = dow_1_close,dow_2_open = dow_2_close,dow_3_open = dow_3_close,dow_4_open = dow_4_close,dow_5_open = dow_5_close,dow_6_open = dow_6_close] AS closed FROM actor.hours_of_operation
- )
- SELECT shortname
- FROM actor.org_unit aou
- JOIN dow_closed USING (id)
- WHERE NOT dow_closed.closed[(SELECT array_id FROM target_dow)]
- AND id NOT IN (
- SELECT aouc.org_unit
- FROM actor.org_unit_closed aouc
- WHERE aouc.close_start <= (SELECT date_string::timestamp FROM target_date)
- AND aouc.close_end >= (SELECT (date_string || ' 11:59 PM')::timestamp FROM target_date)
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement