Rekurzivni CTE za kreiranje datuma
Objavljeno: 05-03-2014 | Autor: Nenad Živković | Kategorija: T-SQL, Trikovi
Ознаке: Datumi, DB mail, Instead of update trigger
0
Ukoliko vam je potrebno da izvučete sve datume u nekom periodu, to možete učiniti uz pomoć rekurzivnog CTE kome zadate početni i krajnji datum. U baznom delu se selektuje početni datum, a u rekurzivnom dodaje po jedan dan dok ne stigne do krajnjeg. Primer je u sledećem upitu:
DECLARE @pocetni DATE; DECLARE @krajnji DATE; SET @pocetni = '20131226'; SET @krajnji = '20140304'; WITH datumi AS ( SELECT @pocetni AS DT UNION ALL SELECT DATEADD(DD, 1, DT) FROM datumi WHERE DATEADD(DD, 1, DT) <= @krajnji ) SELECT * FROM datumi OPTION (MAXRECURSION 0);