BaşlayınÜcretsiz Başlayın

Bir yılın zaman serisini oluştur

Bu egzersizin amacı, bir yıl için günlerden oluşan bir seri oluşturmaktır. Bu görev için aşağıdaki iki zaman/tarih fonksiyonunu kullanmalısın:

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

GETDATE() ile geçerli zamanı elde edersin (ör. 2019-03-14 20:09:14) ve DATEADD(month, 1, GETDATE()) ile geçerli tarihe bir ay eklenmiş hâlini alırsın (ör. 2019-04-14 20:09:14).

Bir yılın günlerinden oluşan bir seri elde etmek için 365 özyineleme adımı gerekir. Bu nedenle yineleme sayısını, n yineleme sayısını temsil edecek şekilde OPTION (MAXRECURSION n) ile artır.

Bu egzersiz

SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Geçerli zamanı time olarak başlat.
  • CTE'yi özyinelemeli olarak seç ve çapa (anchor) ile özyinelemeli üyeyi doğru ifade ile birleştir.
  • Yineleme sayısını yıldaki gün sayısı eksi 1 ile sınırla.
  • Azami yineleme sayısını OPTION (MAXRECURSION n) ile yıldaki gün sayısına yükselt.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

WITH time_series AS (
	SELECT 
  		-- Get the current time
	    ___ AS time
  	UNION ALL
	SELECT 
	    DATEADD(day, 1, time)
  	-- Call the CTE recursively
	FROM ___
  	-- Limit the time series to 1 year minus 1 (365 days -1)
  	WHERE time < GETDATE() + ___)
    
SELECT time
FROM time_series
-- Increase the number of iterations (365 days)
OPTION(MAXRECURSION ___)
Kodu Düzenle ve Çalıştır