1. Nauka
  2. /
  3. Kursy
  4. /
  5. Hierarchiczne i rekurencyjne zapytania w SQL Server

Connected

ćwiczenie

Tworzenie szeregu czasowego na rok

Celem tego ćwiczenia jest stworzenie szeregu dni dla jednego roku. Do tego zadania użyj dwóch funkcji daty i czasu:

  • GETDATE()
  • DATEADD(datepart, number, date)

Funkcja GETDATE() zwraca bieżący czas (np. 2019-03-14 20:09:14), natomiast DATEADD(month, 1, GETDATE()) zwraca bieżącą datę powiększoną o jeden miesiąc (np. 2019-04-14 20:09:14).

Aby uzyskać szereg dni dla roku, potrzebujesz 365 kroków rekurencji. Zwiększ liczbę iteracji za pomocą OPTION (MAXRECURSION n), gdzie n oznacza liczbę iteracji.

Instrukcje

100 XP
  • Zainicjuj bieżący czas jako time.
  • Wybierz CTE rekurencyjnie i połącz człon bazowy z rekurencyjnym za pomocą odpowiedniej instrukcji.
  • Ogranicz liczbę iteracji do liczby dni w roku pomniejszonej o 1.
  • Zwiększ maksymalną liczbę iteracji do liczby dni w roku za pomocą OPTION (MAXRECURSION n).