Sql'de kullanabileceğiniz çeşitli tarih saat işlemlerini aşağıda bulabilirsiniz. Raporlama işlemlerinde kullanışlı oluyorlar.
DECLARE @tarih DATETIME = GETDATE();<br />
<br />
SELECT DATEADD(dd, - (DAY(@tarih) - 1), @tarih)/**AYIN İLK GÜNÜ **/<br />
<br />
<br />
UNION ALL<br />
SELECT CONVERT(VARCHAR(10), DATEADD(MONTH, -2, DATEADD(dd, - (DAY(@tarih) - 1), @tarih)), 112) /**3 AY ÖNCEKİ AYIN İLK GÜNÜ **/<br />
<br />
UNION ALL<br />
SELECT DATEADD(MONTH, -2, (CONVERT(DATETIME, CONVERT(INT, @tarih - 1)))) /**3 AY ÖNCEKİ AYIN BUGÜNÜ **/<br />
<br />
UNION ALL<br />
SELECT CONVERT(VARCHAR(10), DATEADD(dd, - (DAY(@tarih)), @tarih), 112) /**'Onceki Ayın Son Gunu'**/<br />
<br />
UNION ALL<br />
SELECT CONVERT(VARCHAR(10), DATEADD(dd, - (DAY(@tarih) - 1), @tarih), 112) AS Date_Value /**'Ayın İlk Günü'**/<br />
<br />
UNION ALL<br />
SELECT CONVERT(VARCHAR(10), @tarih, 112) /**'Bugunun Tarihi'**/<br />
<br />
UNION ALL<br />
SELECT CONVERT(VARCHAR(10), DATEADD(dd, - (DAY(DATEADD(mm, 1, @tarih))), DATEADD(mm, 1, @tarih)), 112) /** Ayın Son Günü**/<br />
<br />
UNION ALL<br />
SELECT CONVERT(VARCHAR(10), DATEADD(dd, - (DAY(DATEADD(mm, 1, @tarih)) - 1), DATEADD(mm, 1, @tarih)), 112) /**Sonraki Ayın İlk Günü**/<br />
<br />
UNION ALL<br />
SELECT DATEADD(ww, DATEDIFF(ww, 0, GETDATE()), 0) /**Haftanın İlk Günü**/<br />
<br />
UNION ALL<br />
SELECT DATEADD(ww, DATEDIFF(ww, 0, GETDATE()) + 1, 0) /**Sonraki Haftanın İlk Günü **/<br />
<br />
UNION ALL<br />
SELECT DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0) /**Yılın İlk Günü**/<br />
<br />
UNION ALL<br />
SELECT DATEADD(dd, -1, DATEADD(yy, 0, DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) + 1, 0))); /**Yılın Son Günü**/