|
| 1 | +CREATE EXTENSION daterange_inclusive; |
| 2 | +SELECT daterange_inclusive('2024-01-01' , '2024-06-01', '[]'); |
| 3 | + daterange_inclusive |
| 4 | +------------------------- |
| 5 | + [01-01-2024,06-01-2024] |
| 6 | +(1 row) |
| 7 | + |
| 8 | +SELECT daterange_inclusive('2024-01-01' , '2024-06-01', '[)'); |
| 9 | + daterange_inclusive |
| 10 | +------------------------- |
| 11 | + [01-01-2024,05-31-2024] |
| 12 | +(1 row) |
| 13 | + |
| 14 | +SELECT '[2025-01-01,2025-02-02]'::daterange::daterange_inclusive; |
| 15 | + daterange_inclusive |
| 16 | +------------------------- |
| 17 | + [01-01-2025,02-02-2025] |
| 18 | +(1 row) |
| 19 | + |
| 20 | +SELECT '[2025-01-01,2025-02-02)'::daterange::daterange_inclusive; |
| 21 | + daterange_inclusive |
| 22 | +------------------------- |
| 23 | + [01-01-2025,02-01-2025] |
| 24 | +(1 row) |
| 25 | + |
| 26 | +SELECT '[2025-01-01,2025-02-02]'::daterange_inclusive::daterange; |
| 27 | + daterange |
| 28 | +------------------------- |
| 29 | + [01-01-2025,02-03-2025) |
| 30 | +(1 row) |
| 31 | + |
| 32 | +SELECT '[2025-01-01,2025-02-02)'::daterange_inclusive::daterange; |
| 33 | + daterange |
| 34 | +------------------------- |
| 35 | + [01-01-2025,02-02-2025) |
| 36 | +(1 row) |
| 37 | + |
| 38 | +CREATE TABLE x (y daterange_inclusive); |
| 39 | +INSERT INTO x SELECT daterange_inclusive(d::date, (d + '1month'::interval)::date, '[]') FROM generate_series('2015-01-01'::date,'2025-02-02', '1day') d; |
| 40 | +INSERT INTO x SELECT daterange_inclusive(d::date, NULL::date, '[)') FROM generate_series('2015-01-01'::date,'2025-02-02', '1day') d; |
| 41 | +SELECT COUNT(*) FROM x; |
| 42 | + count |
| 43 | +------- |
| 44 | + 7372 |
| 45 | +(1 row) |
| 46 | + |
| 47 | +CREATE INDEX ON x USING gist (y); |
| 48 | +INSERT INTO x SELECT '[2024-01-01,)'::daterange::daterange_inclusive; |
| 49 | +DROP EXTENSION daterange_inclusive CASCADE; |
| 50 | +NOTICE: drop cascades to column y of table x |