Bu makalede, SQL sorguları yazarken kullanmak için çeşitli SQL Convert Tarih formatlarını keşfedeceğiz.
SQL’de tarih tipi verilerle çalışmamız gerekiyor. Zaman zaman SQL Server geliştiricileri için uğraşması karmaşık bir şey olabilir. Sütun zaman damgası olan bir Ürün tablonuz olduğunu varsayalım. Her müşteri siparişi için bir zaman damgası oluşturur. Bununla ilgili aşağıdaki sorunlarla karşılaşabilirsiniz
Uygulama farklı bir tarih biçiminde veri eklemeye çalıştığı için Ürün tablosuna veri ekleyemiyorsunuz
YYYY-AA-GG ss: dd: ss biçiminde bir tabloda verileriniz olduğunu varsayalım. Günlük Satış raporunuz var ve bunda tarihe göre veri grubu istiyorsunuz. Raporda YYYY-AA-GG biçiminde veri olmasını istiyorsunuz
Gereksinimimize göre tarih formatımız olmadığında bu tür birçok senaryo ile karşı karşıyayız. Her gereksinimi karşılamak için tablo özelliklerini değiştiremeyiz. Bu durumda, gerekli tarih formatını vermek için SQL Server’daki yerleşik fonksiyonları kullanmamız gerekir.
Data Types for Date and Time
We have the following SQL convert date and Time data types in SQL Server.
Date type
Format
Time
hh:mm:ss[.nnnnnnn]
Date
YYYY-MM-DD
SmallDateTime
YYYY-MM-DD hh:mm:ss
DateTime
YYYY-MM-DD hh:mm:ss[.nnn]
DateTime2
YYYY-MM-DD hh:mm:ss[.nnnnnnn]
DateTimeOffset
YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm
SQL Server’da, çeşitli formatlarda sunucu tarihi ve formatı sağlamak için SQL GETDATE () ve GetUTCDate () gibi yerleşik işlevleri kullandık .
SYSDATETIME () : Sunucunun tarih ve saatini döndürür
SYSDATETIMEOffset () : UTC farkıyla birlikte sunucunun tarih ve saatini döndürür.
GETUTCDATE () : Tarih ve GMT (Greenwich Ortalama Saati) saatini döndürür
GETDATE () : Sunucu tarih ve saatini döndürür
İlgili formatlarda çıktı almak için aşağıdaki sorguları Çalıştırın.
Select SYSDATETIME() as [SYSDATETIME]
Select SYSDATETIMEOffset() as [SYSDATETIMEOffset]
Select GETUTCDATE() as [GETUTCDATE]
Select GETDATE() as [GETDATE]
SQL Tarih Biçimlerini Dönüştür
Daha önce vurgulandığı gibi, bir tarihi gereksinimlerimize göre farklı biçimlerde biçimlendirmemiz gerekebilir. DateTime’ı çeşitli biçimlerde biçimlendirmek için SQL Server’da SQL CONVERT () işlevini kullanabiliriz .
SQ için sözdizimi: CONVERT () işlevi aşağıdaki gibidir.
Data_Type: Veri tipini uzunlukla birlikte tanımlamamız gerekiyor. Tarih fonksiyonunda, Varchar (uzunluk) veri türlerini kullanıyoruz
Tarih : Dönüştürmek istediğimiz tarihi belirtmemiz gerekiyor
DateFormatCode : Bir tarihi uygun bir forma dönüştürmek için DateFormatCode belirtmemiz gerekir . Önümüzdeki bölümde bununla ilgili daha fazlasını keşfedeceğiz.
SQL dönüştürme tarih işlevlerini kullanarak çeşitli tarih biçimlerini keşfedelim.
İlk olarak, aşağıdaki sorgu ile SQL GETDATE () işlevini kullanarak geçerli DateTime’ı tutacak bir değişken bildiriyoruz .
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,101) as [MM/DD/YYYY]
[YYYY.MM.DD] olarak tarih-saat biçimi
Standart : ANSI
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,102) as [YYYY.MM.DD]
Datetime biçimi GG / AA / YYYY biçimi
Standardı : İngiliz / Fransız
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,103) as [DD/MM/YYYY]
Datetime biçimi GG.AA.YY biçimi
Standardı : Alman
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,104) as [DD/MM/YYYY]
Datetime biçimi GG-AA-YY formatı
Standardı : İtalyan
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,105) as [DD/MM/YYYY]
Datetime biçimi GG AAA YYYY formatında
Standardı : Kısaltılmış ay adı
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,106) as [DD MMM YYYY]
Datetime biçimi MMM DD YYYY formatında
Standardı : Kısaltılmış ay adı
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,107) as [MMM DD,YYYY]
Tarih saat Biçim MM: HH olarak SS
Standart : 24 saatlik bir zaman
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,108) as [HH:MM:SS]
Tarih saat biçimi [AA GG YYYY ss: dd: ss: dd (ÖÖ / ÖS)]Standart : Varsayılan + milisaniye
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,109) as [MMM DD YYYY hh:mm:ss:mmm(AM/PM)]
AA -GG-YY biçiminde tarih -saat biçimi
Standart: ABD
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,110) as [MM-DD-YYYY]
Datetime biçimi YYYY / AA / GG biçiminde
Standardı : JAPONYA
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,111) as [YYYY/MM/DD]
Datetime biçimi YYYYAAGG biçimi
Standart : ISO
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,112) as [YYYYMMDD]
DD MMM YYYY SS: MM: SS: MMM olarak tarih-saat biçimi
Standart: Avrupa varsayılanı + milisaniye
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,113) as [DD MMM YYYY HH:MM:SS:MMM]
SS: MM: SS: MMM olarak tarih- saat biçimi
Standart: milisaniye ile 24 saat zaman
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,114) as [DD MMM YYYY HH:MM:SS:MMM]
YYYY-AA-GG SS: DD: SS
Varsayılan: ODBC standartına göre tarih / saat biçimi
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,120) as [YYYY-MM-DD HH:MM:SS]
Datetime biçimi : DD: SS.mmm YYYY-AA-GG SS
Standardı: milisaniye ile ODBC kurallı
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,121) as [YYYY-MM-DD HH:MM:SS.mmm]
Datetime biçimi : DD: SS.mmm YYYY-AA-GGTSS
Standardı : ISO8601
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,126) as [yyyy-mm-ddThh:mi:ss.mmm]
[GG AA YYYY ss: mil: ss: aaa (ÖÖ / ÖS)] olarak tarih- saat biçimi
Standart : İslami / Hicri tarih
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,130) as [dd mon yyyy hh:mi:ss:mmm(AM/PM)]
Tabloda, gereksinimlerinize göre çeşitli formatları SQL dönüştürme tarihine göre görebiliriz. Aşağıdaki tabloda, tüm SQL tarih formatlarını bir arada görebilirsiniz.
Bu makalede, SQL sorguları yazarken kullanmak için çeşitli SQL Convert Date formatlarını keşfedeceğiz.
SQL’de tarih tipi verilerle çalışmamız gerekiyor. Zaman zaman SQL Server geliştiricileri için uğraşması karmaşık bir şey olabilir. Sütun zaman damgası olan bir Ürün tablonuz olduğunu varsayalım. Her müşteri siparişi için bir zaman damgası oluşturur. Bununla ilgili aşağıdaki sorunlarla karşılaşabilirsiniz
Uygulama farklı bir tarih biçiminde veri eklemeye çalıştığı için Ürün tablosuna veri ekleyemiyorsunuz
YYYY-AA-GG ss: dd: ss biçiminde bir tabloda verileriniz olduğunu varsayalım. Günlük Satış raporunuz var ve bunda tarihe göre veri grubu istiyorsunuz. Raporda YYYY-AA-GG biçiminde veri olmasını istiyorsunuz
Gereksinimimize göre tarih formatımız olmadığında bu tür birçok senaryo ile karşı karşıyayız. Her gereksinimi karşılamak için tablo özelliklerini değiştiremeyiz. Bu durumda, gerekli tarih formatını vermek için SQL Server’daki yerleşik fonksiyonları kullanmamız gerekir.
Tarih ve Saat için Veri Türleri
SQL Server’da aşağıdaki SQL dönüştürme tarih ve saat veri türlerine sahibiz.
Tarih türü
Biçim
Zaman
ss: dd: ss [.nnnnnnn]
Tarih
YYYY-AA-GG
SmallDateTime
YYYY-AA-GG ss: dd: ss
DateTime
YYYY-AA-GG ss: dd: ss [.nnn]
DateTime2
YYYY-AA-GG ss: dd: ss [.nnnnnnn]
DateTimeOffset
YYYY-AA-GG ss: dd: ss [.nnnnnnn] [+ | -] hh: mm
SQL Server’da, çeşitli formatlarda sunucu tarihi ve formatı sağlamak için SQL GETDATE () ve GetUTCDate () gibi yerleşik işlevleri kullandık .
SYSDATETIME () : Sunucunun tarih ve saatini döndürür
SYSDATETIMEOffset () : UTC farkıyla birlikte sunucunun tarih ve saatini döndürür.
GETUTCDATE () : Tarih ve GMT (Greenwich Ortalama Saati) saatini döndürür
GETDATE () : Sunucu tarih ve saatini döndürür
İlgili formatlarda çıktı almak için aşağıdaki sorguları yürütün.
Select SYSDATETIME() as [SYSDATETIME]
Select SYSDATETIMEOffset() as [SYSDATETIMEOffset]
Select GETUTCDATE() as [GETUTCDATE]
Select GETDATE() as [GETDATE]
SQL Tarih Biçimlerini Dönüştür
Daha önce vurgulandığı gibi, bir tarihi gereksinimlerimize göre farklı biçimlerde biçimlendirmemiz gerekebilir. DateTime’ı çeşitli biçimlerde biçimlendirmek için SQL Server’da SQL CONVERT () işlevini kullanabiliriz .
SQ için sözdizimi: CONVERT () işlevi aşağıdaki gibidir.
Data_Type: Veri tipini uzunlukla birlikte tanımlamamız gerekiyor. Tarih fonksiyonunda, Varchar (uzunluk) veri türlerini kullanıyoruz
Tarih : Dönüştürmek istediğimiz tarihi belirtmemiz gerekiyor
DateFormatCode : Bir tarihi uygun bir forma dönüştürmek için DateFormatCode belirtmemiz gerekir . Önümüzdeki bölümde bununla ilgili daha fazlasını keşfedeceğiz.
SQL dönüştürme tarih işlevlerini kullanarak çeşitli tarih biçimlerini keşfedelim.
İlk olarak, aşağıdaki sorgu ile SQL GETDATE () işlevini kullanarak geçerli DateTime’ı tutacak bir değişken bildiriyoruz .
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,101) as [MM/DD/YYYY]
[YYYY.MM.DD] olarak tarih-saat biçimi
Standart : ANSI
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,102) as [YYYY.MM.DD]
Datetime biçimi GG / AA / YYYY biçimi
Standardı : İngiliz / Fransız
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,103) as [DD/MM/YYYY]
Datetime biçimi GG.AA.YY biçimi
Standardı : Alman
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,104) as [DD/MM/YYYY]
Datetime biçimi GG-AA-YY formatı
Standardı : İtalyan
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,105) as [DD/MM/YYYY]
Datetime biçimi GG AAA YYYY formatında
Standardı : Kısaltılmış ay adı
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,106) as [DD MMM YYYY]
Datetime biçimi MMM DD YYYY formatında
Standardı : Kısaltılmış ay adı
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,107) as [MMM DD,YYYY]
Tarih saat Biçim MM: HH olarak SS
Standart : 24 saatlik bir zaman
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,108) as [HH:MM:SS]
Tarih saat biçimi [AA GG YYYY ss: dd: ss: dd (ÖÖ / ÖS)]Standart : Varsayılan + milisaniye
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,109) as [MMM DD YYYY hh:mm:ss:mmm(AM/PM)]
AA -GG-YY biçiminde tarih -saat biçimi
Standart: ABD
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,110) as [MM-DD-YYYY]
Datetime biçimi YYYY / AA / GG biçiminde
Standardı : JAPONYA
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,111) as [YYYY/MM/DD]
Datetime biçimi YYYYAAGG biçimi
Standart : ISO
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,112) as [YYYYMMDD]
DD MMM YYYY SS: MM: SS: MMM olarak tarih-saat biçimi
Standart: Avrupa varsayılanı + milisaniye
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,113) as [DD MMM YYYY HH:MM:SS:MMM]
SS: MM: SS: MMM olarak tarih- saat biçimi
Standart: milisaniye ile 24 saat zaman
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,114) as [DD MMM YYYY HH:MM:SS:MMM]
YYYY-AA-GG SS: DD: SS
Varsayılan: ODBC standartına göre tarih / saat biçimi
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,120) as [YYYY-MM-DD HH:MM:SS]
Datetime biçimi : DD: SS.mmm YYYY-AA-GG SS
Standardı: milisaniye ile ODBC kurallı
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,121) as [YYYY-MM-DD HH:MM:SS.mmm]
Datetime biçimi : DD: SS.mmm YYYY-AA-GGTSS
Standardı : ISO8601
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,126) as [yyyy-mm-ddThh:mi:ss.mmm]
[GG AA YYYY ss: mil: ss: aaa (ÖÖ / ÖS)] olarak tarih- saat biçimi
Standart : İslami / Hicri tarih
declare @Existingdate datetimeSet @Existingdate=GETDATE()Select CONVERT(varchar,@Existingdate,130) as [dd mon yyyy hh:mi:ss:mmm(AM/PM)]
Tabloda, gereksinimlerinize göre çeşitli formatları SQL dönüştürme tarihine göre görebiliriz. Aşağıdaki tabloda, tüm SQL tarih formatlarını bir arada görebilirsiniz.
Tarih biçimi seçeneği
SQL dönüştürme tarih çıktısı
0
30 Aralık 2006 00:38
1
30/12/06
2
06.12.30
3
30/12/2006
4
30.12.06
5
30/12/2006
6
30-Aralık-06
7
30 Aralık 06
8
00:38:54
9
30 Aralık 2006 12: 38: 54: 840AM
10
12-30-06
11
06/12/1930
12
61230
13
30 Aralık 2006 00: 38: 54: 840
14
00: 38: 54: 840
20
30/12/2006 00:38
21
38: 54,8
22
30.12.2006 00:38:54
23
30/12/2006
24
00:38:54
25
38: 54,8
26
2006-30-12 00: 38: 54.840
27
12-30-2006 00: 38: 54.840
28
12-2006-30 00: 38: 54.840
29
38: 54,8
30
30-2006-12 00: 38: 54.840
31
2006-30-12
32
12-30-2006
33
12-2006-30
34
30/12/2006
35
30-2006-12
100
30 Aralık 2006 00:38
101
30.12.2006
102
2006.12.30
103
30/12/2006
104
30.12.2006
105
30/12/2006
106
30-Aralık-06
107
30 Aralık 2006
108
00:38:54
109
30 Aralık 2006 12: 38: 54: 840AM
110
12-30-2006
111
30/12/2006
112
20061230
113
30 Aralık 2006 00: 38: 54: 840
114
00: 38: 54: 840
120
30/12/2006 00:38
121
38: 54,8
126
2006-12-30T00: 38: 54,840
127
2006-12-30T00: 38: 54,840
130
10 ?? ????? 1427 12: 38: 54: 840A
131
10/12/1427 12: 38: 54: 840AM
Şimdi SQL dönüştürme tarihi için yararlı olan bir işlevi inceleyelim.
DATEADD
Tarihimize belirli bir dönem eklemek için SQL DATEADD işlevini kullanabiliriz. Geçerli tarihe 1 ay eklememiz gerektiğini varsayalım. Bu görevi yapmak için SQL DATEADD fonksiyonunu kullanabiliriz.
DATEADD (interval, number, date)
Interval: Belirtilen tarihte eklenmesi gereken bir aralık belirleyebiliriz. Yıl, çeyrek, ay, gün, hafta, saat, dakika gibi değerlere sahip olabiliriz.
Number: Eklenecek aralığın sayısını belirtir. Örneğin aralığı Ay ve Sayı olarak 2 olarak belirlediysek bu tarihe 2 ay eklenmesi gerektiği anlamına gelir.
Aşağıdaki sorguda güncel tarihe 2 ay eklemek istiyoruz.
SELECT GETDATE() as Currentdate SELECT DATEADD(month, 2, GETDATE()) AS NewDate;
Çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz.
Benzer şekilde, aşağıdaki sorguyu kullanarak güncel tarihe 1 yıl eklememize izin verir.
select GETDATE() as Currentdate SELECT DATEADD(Year, 1, GETDATE()) AS NewDate;
İstenilen DateTime formatlarında çıktı almak için SQL DATEADD ve CONVERT fonksiyonlarını birleştirebiliriz . Önceki örnekte varsayalım; MMM GG, YYYY biçiminde bir tarih biçimi istiyoruz . Bu formatta çıktı almak için 107 format kodunu kullanabiliriz.
New date ve ConvertedDate’i almak için aşağıdaki kodu yürütün.
SELECT DATEADD(YEAR,1,GETDATE()) AS [NewDate] ,CONVERT(varchar(110),DATEADD(YEAR,1,GETDATE()),107) AS [ConvertedDate]
Netflix, HDR10 ve Dolby Vision’a ek olarak HDR10+ desteğini de hayata geçirdi. Bu teknoloji, özellikle karanlık sahnelerde görsel netliği artırarak izleyicilere daha gerçekçi bir deneyim sunmayı hedefliyor.
Mars’ta bulunan organik moleküller, Dünya’daki en eski yaşam izleriyle aynı döneme tarihleniyor. Peki bu moleküller nasıl oluştu? Gezegende biyolojik aktiviteler yaşanmış olabilir mi?
Gölgelerden gelen bir intikam... Assassin’s Creed, Japonya’da bambaşka bir hikâyeyle dönüyor. Assassin's Creed Shadows hakkında bilmeniz gerekenleri anlatıyoruz...
Forza Motorsport, 20. yıl dönümünü efsanevi Fujimi Kaido pistinin geri dönüşüyle kutluyor. Yeni araçlar, özel etkinlikler ve heyecan verici özelliklerle gelmesi beklenen büyük güncelleme, seriyi farklı bir boyuta taşıyacak gibi görünüyor.
Microsoft'tan, Indiana Jones and The Great Circle için sürpriz karar: Xbox ve PC'ye özel olarak piyasaya sürülen oyun, çok yakında PlayStation 5'e de geliyor!
Tesla’nın hisse değeri düşüşte olabilir, ancak Elon Musk büyük planlarına inanmaya devam ediyor. Cybercab ve Optimus projeleriyle teknoloji dünyasında fark yaratmayı hedefleyen Tesla, yeni üretim süreçleriyle dikkat çekiyor.
NASA’nın Artemis 3 göreviyle Ay’a yapacağı dönüş, kapsayıcılık söylemleriyle dikkat çekmişti. Ancak son dönemde internet sitesinde yapılan değişiklikler, bu hedeflere bağlılık konusunda soru işaretleri yarattı.
Minecraft topluluğunu heyecanlandıran 2025 Minecraft Live etkinliği, grafik güncellemeleri ve yeni içeriklerle dikkat çekti. Ancak devam oyunu yerine Mojang, mevcut Minecraft deneyimini geliştirmeye odaklanacak gibi görünüyor.
iPhone 16 henüz yeni piyasaya çıkmış olabilir ama Apple iPhone 18 için hazırlıklara başladı. Ve gelen ilk haberler, 2027'nin iPhone'unda yer alacak A20 işlemcinin büyük bir güç sıçrayışı yapacağını söylüyor.