Yazan: Hüseyin Onur Özcan
Yıl - Yarı Yıl - Çeyrek - Ay - Gün - Saat Kırılımı olan tarih hiyerarşisi için query örneği
set datefirst 1
set language Turkish
declare @tarih datetime
set @tarih = '01/01/2000'
declare @saat int
set @saat = 0
while @tarih < '01/01/2020'
begin
set @saat = 0
while @saat < 24
begin
INSERT INTO [HIS_DWH].[dbo].[DT_Tarih]
([tarih]
,[saat]
,[gun]
,[ay]
,[yil]
,[gunun_adi]
,[ceyrek]
,[yariyil]
,[ayin_adi])
VALUES
(@tarih
,@saat
,datepart(d, @tarih)
,datepart(m,@tarih)
,datepart(yyyy,@tarih)
,datepart(dw,@tarih)
,datepart(q,@tarih)
,case datepart(q,@tarih) when 1 then 1 when 2 then 1 else 2 end
,datename(month, @tarih))
/*
insert into dbo.DT_Tarih
values
(datepart(yyyy,@tarih), datepart(m,@tarih), datename(month, @tarih),
datepart(ww,@tarih), datepart(d, @tarih), @saat)
*/
set @saat = @saat + 1
set @tarih = DATEADD(HH, 1, @tarih )
end
--set @tarih = @tarih + 1
end
--select * from DT_Tarih
Hiç yorum yok:
Yorum Gönder