Przedziały czasowe SQL

0

Cześć Wszystkim,
Chciałbym prosić o pomoc.
Mianowicie mam id = 111 oraz godziny start = 11:00 i end = 15:00. Chcę zrobić tak aby dla tego id wypisać przedziały czasowe co 1h w których się znalazło.
Wynik zapytania ma wyglądać tak:
id 111 11:00 - 12:00
id 111 12:00 - 13:00
id 111 13:00 - 14:00
id 111 14:00 - 15:00

Wielkie dzięki za pomoc.

Pozdrawiam

3

Jeżeli to PostgreSQL, to można wykorzystać funkcję generate_series() https://www.postgresql.org/docs/14/functions-srf.html

Nawet jest jakiś podobny przykład:

SELECT * FROM generate_series('2008-03-01 00:00'::timestamp,
                              '2008-03-04 12:00', '10 hours');
   generate_series
---------------------
 2008-03-01 00:00:00
 2008-03-01 10:00:00
 2008-03-01 20:00:00
 2008-03-02 06:00:00
 2008-03-02 16:00:00
 2008-03-03 02:00:00
 2008-03-03 12:00:00
 2008-03-03 22:00:00
 2008-03-04 08:00:00
(9 rows)

Ewentualnie w PL/pgSQL jakiegoś FORa zrobić.

0

@.andy: dzięki, chcę to zrobić w snowflake

0

@Marcin.Miga: Super, dzięki :)

Sprawdziłem na snowflake i nie działa generate_series :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1