Advertisement
cmptrwz

Open libraries on date

Jun 25th, 2014
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. WITH target_date AS (
  2.     SELECT '<<PUT DATE HERE>>'::TEXT AS date_string
  3. ),
  4. target_dow AS (
  5.     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
  6. ),
  7. dow_closed AS (
  8.     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
  9. )
  10. SELECT shortname
  11. FROM actor.org_unit aou
  12. JOIN dow_closed USING (id)
  13. WHERE NOT dow_closed.closed[(SELECT array_id FROM target_dow)]
  14. AND id NOT IN (
  15.     SELECT aouc.org_unit
  16.     FROM actor.org_unit_closed aouc
  17.     WHERE aouc.close_start <= (SELECT date_string::timestamp FROM target_date)
  18.     AND aouc.close_end >= (SELECT (date_string || ' 11:59 PM')::timestamp FROM target_date)
  19. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement