SQL etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
SQL etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

13 Şubat 2013 Çarşamba

Sql'de bazen belli tarih aralıklarını kullanmak gerekiyor.Bana haftanın ilk günü gibi bir sorgu lazım olmuştu aşağıdaki kodları aşağıdaki linkten bulmuştum.
http://www.ismailadar.com/post/2011/12/29/SQL-Serverda-Y%C4%B1l%C4%B1nAy%C4%B1n-ve-Haftan%C4%B1n-Ilk-ve-Son-Gunleri.aspx

Şimdi tekrar lazım olunca buraya da koymakta fayda olacağını düşündüm.

 
DECLARE @tarih DATETIME=GETDATE()
SELECT 'Onceki Ayın Son Gunu' Aciklama,CONVERT(VARCHAR(10),DATEADD(dd,-(DAY(@tarih)),@tarih),112) Tarih
UNION ALL
SELECT 'Ayın İlk Günü',CONVERT(VARCHAR(10),DATEADD(dd,-(DAY(@tarih)-1),@tarih),112) AS Date_Value
UNION ALL
SELECT 'Bugunun Tarihi',CONVERT(VARCHAR(10),@tarih,112) AS Date_Value
UNION ALL
SELECT 'Ayın Son Günü',CONVERT(VARCHAR(10),DATEADD(dd,-(DAY(DATEADD(mm,1,@tarih))),DATEADD(mm,1,@tarih)),112)
UNION ALL
SELECT 'Sonraki Ayın İlk Günü',CONVERT(VARCHAR(10),DATEADD(dd,-(DAY(DATEADD(mm,1,@tarih))-1),DATEADD(mm,1,@tarih)),112)
UNION ALL
SELECT 'Haftanın İlk Günü', DATEADD(ww, DATEDIFF(ww,0,GETDATE()), 0)
UNION ALL
SELECT 'Sonraki Haftanın İlk Günü', DATEADD(ww, DATEDIFF(ww,0,GETDATE())+1, 0)
UNION ALL
SELECT 'Yılın İlk Günü',DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
UNION ALL
SELECT 'Yılın Son Günü',DATEADD(dd,-1,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0)))

 

29 Ocak 2013 Salı

Sql'de database listesini almak

Tüm database'lerin listesini almak için (log'lar hariç)

SELECT * FROM master.sys.sysaltfiles WHERE name not Like '%_log%'

 Mikro yazılımı kullananlar için şirket databaselerinin listesini alan sorgu.
SELECT * FROM master.sys.sysaltfiles WHERE name like 'MikroDB_V14_%' andname Not like
 '%_WORKDATA%' And name not Like '%_log%'