24 Mayıs 2010 Pazartesi

T-SQL İle Tarihler Üzerinde İşlemler Yapmak

SELECT CURRENT_TIMESTAMP
-- Sonuç : 2009-07-20 10:39:15.097


SELECT DATEADD(day,2,'2009-07-20')
-- Sonuç : 2009-07-22 00:00:00.000

SELECT DATEADD(month,2,'2009-07-20')
-- Sonuç : 2009-09-20 00:00:00.000


SELECT DATEDIFF(day,'2009-07-20','2015-02-09')
-- Sonuç : 2030 (Gün olarak aldık)

SELECT DATENAME(month, '2009-07-20')
-- Sonuç : July


SELECT DATENAME(weekday, '2009-07-20')
-- Sonuç : Monday

SELECT DATEPART(month, '2009-07-20')
-- Sonuç : 7


--Şuanki Zaman ve Tarihi verir
SELECT GETDATE()
-- Sonuç : 2009-07-20 11:52:32.893

-- Londra - Greenwich Saati
SELECT GETUTCDATE()
-- Sonuç : 2009-07-20 08:52:44.693


--Girilen string değerin tarih olup olmadığını belirler. 1 ise tarih 0 ise değil.
SELECT ISDATE('2009-07-20') -- Sonuç : 1
SELECT ISDATE('2014-18-09') -- Sonuç : 0

--girilen Tarihin gün bilgisini verir.
SELECT DAY('2009-07-20')
-- Sonuç : 20


--girilen Tarihin ay bilgisini verir.
SELECT MONTH('2009-07-20')
-- Sonuç : 7

--Girilen Tarihin yıl bilgisini verir.
SELECT YEAR('2009-07-20')
-- Sonuç : 2009


--Sistem Zamanını verir.
SELECT SYSDATETIME()
-- Sonuç : 2009-07-20 11:53:15.7138432

--Sistem Zamanını Greenwiche göre verir.
SELECT SYSUTCDATETIME()
-- Sonuç : 2009-07-20 08:53:25.9958432


-- DATEADD: Şuanki, Tarihe 7 Gün ekleyelim.
-- Bunun için 1 hafta eklemek veya 7 gün eklemek yeterlidir.
SELECT DATEADD(DD, 7, GETDATE())

SELECT DATEADD(WW, 1, GETDATE())

-- Şuanki Tarihe göre Ayın hangi günündeyiz.
SELECT DAY(GETDATE())


-- Şuanki Ayın Ilk günü
SELECT DATEADD(DD,-(DAY(GETDATE())-1),CONVERT(VARCHAR,GETDATE(),112))

-- Şuanki Ayın son günü
SELECT DATEADD(DD,-(DAY(DATEADD(MM,1,GETDATE()))),DATEADD(MM,1, CONVERT(VARCHAR,GETDATE(),112)))


-- DATEDIFF: Ocak 1 2007 den bugune kadar kaç gün geçti
SELECT DATEDIFF(DD,'20070101',GETDATE())

-- DATENAME: Şuanki Ay
SELECT DATENAME(MM, GETDATE())


-- Hangi Aydayız.
SELECT MONTH(GETDATE())

-- Hangi Yıldayız
SELECT YEAR(CURRENT_TIMESTAMP)


--C#'taki gibi Tarih Stilleri
1- 101 (mm/dd/yy)
2- 102 (yy.mm.dd)
3- 103 (dd/mm/yy)
4- 104 (dd.mm.yy)
5- 105 (dd-mm-yy)
6- 106 (dd mon yy)
7- 107 (Mon dd , yy)
8- 108 (hh:mm:ss)
9- 109 (Mon dd yyyy Hh:mi:ss:mmm AM yada PM)
10 – 110 (mm-dd-yy)
11 – 111 (Yy/mm/dd)
12- 112 (Yymmdd)
13- 11 3 (Dd mm yyy hh:mm:ss:mmm)
14- 114 (Hh:mi:ss:mmm)
20- 120 (Yyyy-mm:dd hh:mm:ss)
21- 121 (Yyy-mm:dd hh:mi:ss:mmm)

Microsoft'un sitesinden de farklı stillere bakabilirsiniz.

SELECT CONVERT(CHAR(20), GETDATE(),103) as "şu andaki zaman" 07.07.2010
SELECT CONVERT(CHAR(20), GETDATE(),108) as "şu andaki saat" 14:51:25

Zamanla buraya daha farklı zaman fonksiyonlarıda ekliyecem.

Hiç yorum yok:

Yorum Gönder