File: base.sql

package info (click to toggle)
pg-rrule 0.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 172 kB
  • sloc: ansic: 431; sql: 33; makefile: 29; sh: 1
file content (35 lines) | stat: -rw-r--r-- 1,019 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
\set ECHO errors
BEGIN;
CREATE EXTENSION pg_rrule;
\set ECHO all

SELECT 'FREQ=WEEKLY;INTERVAL=1;WKST=MO;UNTIL=20200101T045102Z'::rrule;

SELECT get_byday('FREQ=WEEKLY;INTERVAL=1;WKST=MO;UNTIL=20200101T045102Z;BYDAY=MO,TH,SU'::rrule);

SELECT get_freq('FREQ=WEEKLY;INTERVAL=1;WKST=MO;UNTIL=20200101T045102Z'::rrule);

SELECT * FROM
    unnest(
        get_occurrences('FREQ=WEEKLY;INTERVAL=1;WKST=MO;UNTIL=20200101T045102Z;BYDAY=SA;BYHOUR=10;BYMINUTE=51;BYSECOND=2'::rrule,
            '2019-12-07 10:51:02+00'::timestamp with time zone)
    );

SELECT * FROM
    unnest(
        get_occurrences('FREQ=WEEKLY;INTERVAL=1;WKST=MO;UNTIL=20200101T045102Z;BYDAY=SA;BYHOUR=10;BYMINUTE=51;BYSECOND=2'::rrule,
            '2019-12-07 10:51:02'::timestamp)
    );

WITH occurrences AS (
    SELECT unnest(
        get_occurrences(
           'FREQ=DAILY;BYHOUR=09;'::rrule,
            '2024-05-25 00:00:00'::timestamp,
            '2024-05-27 00:00:00'::timestamp
        )
    ) as occ
)
SELECT * FROM occurrences;

ROLLBACK;