1 Haziran 2012 Cuma

Saat Kırılımına Kadar İnen Tarih Hiyerarşisi

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