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]
Bu dev, yeni nesil uydu artık gece gökyüzündeki en parlak nesnelerden biri haline gelmiş durumda. BlueWalker 3 uydusu temelde bir cep telefonunu uydu telefonuna dönüştürebiliyor ama Işık kirliliği büyük bir yan etki olarak karşımızda duruyor.
NASA'nın Mars Keşif Yörünge Aracı gezegende araneiform olarak bilinen arazinin bir görüntüsünü paylaştı. Görüntüde yer alan "örümcekler" ilk bakışta oldukça ürkütücü görünüyor.
StatCounter'ın Eylül 2023 Windows raporu yayınlandı. Bu rapora göre Windows 11, Microsoft'un istediği hıza halen ulaşabilmiş değil. Windows'ların "kralı" ise bir kez daha Windows 10 oldu.
Siri nasıl açılır? Siri ne işe yarar ya da güvenli mi? soruları sıklıkla merak konusu oluyor. Siri, iPhone telefonlar, iPad’ler, Mac bilgisayarlar ve Apple Watch gibi teknolojik cihazlarda kullanılabiliyor. Peki nasıl açılıyor? İşte izlenmesi gereken adımlar ve tüm detaylar...
En iyi performansı yakalamak için fare seçimi çok önemli. Peki, hangi fareyi almalı? Seçenek çok. Ancak Pulsefire Haste 2 Wireless, HyperX'in devrim değil ama doğru yönde bir evrim halkası olmuş. Tüm detaylarıyla inceledik!
Sosyal medya devleri, birbiri ardına ücretli abonelik seçeneği sunmaya başlayabilir. Yeni haberler TikTok, Facebook ve Instagram için ücretli abonelik seçeneklerinin yolda olduğunu gösteriyor.
Hepimiz e-posta klasörümüzde bir çok spam iletiyle karşılaşıyoruz. Peki ya bizim attığımız e-postalar da spam klasörüne düşüyorsa? E-postanızın yerine ulaştığından emin olmak için yapabileceğiniz bazı şeyler ve kaçınabileceğiniz kalıp ifadeler mevcut. İşte kullanmamanız gereken kelimeler...
Bir mikrobiyolog, gıda kaynaklı enfeksiyon riskini azaltmak için önemli önerilerde bulundu ve asla yemeyeceği şeyleri açıkladı. Bu yazıyı okuduğunuzda, poşetlenmiş marula bir daha asla aynı şekilde bakmayacaksınız.