SQL CONVERT() Kullanımı
SQL CONVERT() Kullanımı
Bu fornsiyon ile SQL Server veritabanlarındaki tarih alanını farklı biçimlerde ekrana yazdırmak mümkündür. Bu fornksiyon MySQL veritabanlarında çalışmaz. MySQL veritabanlarında DATE_FORMAT() fonksiyonu çalışmaktadır.
Kullanım Biçimi
SELECT CONVERT(hedef_veri_tipi, alan_adi, gosterim_formati) FROM tablo_adi |
Çevrilecek değer veri veritabanından gelebileceği gibi tarih fonksiyonlarından da faydalanabiliriz.
Gösterim formatları aşağıdaki gibidir.
İki basamak yıl | Dört basamaklı yıl | Girdi/Çıktı | Ülke Standardı |
---|---|---|---|
- | 0 veya 100 | mon dd yyyy hh:miAM (veya PM) | Default |
1 | 101 | 1 = mm/dd/yy 101 = mm/dd/yyyy |
Amerikan |
2 | 102 | 2 = yy.mm.dd 102 = yyyy.mm.dd |
ANSI |
3 | 103 | 3 = dd/mm/yy 103 = dd/mm/yyyy |
İngiliz/Fransız |
4 | 104 | 4 = dd.mm.yy 104 = dd.mm.yyyy |
Alman |
5 | 105 | 5 = dd-mm-yy 105 = dd-mm-yyyy |
Italyan |
6 | 106 | 6 = dd mon yy 106 = dd mon yyyy |
- |
7 | 107 | 7 = Mon dd, yy 107 = Mon dd, yyyy |
- |
8 | 108 | hh:mm:ss | - |
- | 9 veya 109 | mon dd yyyy hh:mi:ss:mmmAM (veya PM) | Default + milisaniye |
10 | 110 | 10 = mm-dd-yy 110 = mm-dd-yyyy |
Amerikan |
11 | 111 | 11 = yy/mm/dd 111 = yyyy/mm/dd |
Japon |
12 | 112 | 12 = yymmdd 112 = yyyymmdd |
ISO |
- | 13 veya 113 | dd mon yyyy hh:mi:ss:mmm (24h) | Avrupa default + milisaniye |
14 | 114 | hh:mi:ss:mmm (24h) | - |
- | 20 veya 120 | yyyy-mm-dd hh:mi:ss (24h) | ODBC standardı |
- | 21 veya 121 | yyyy-mm-dd hh:mi:ss.mmm (24h) | ODBC standardı (milisaniye ile) |
- | 126 | yyyy-mm-ddThh:mi:ss.mmm (boşluksuz) | ISO8601 |
- | 127 | yyyy-mm-ddThh:mi:ss.mmmZ (boşluksuz) | ISO8601 (Z zaman dilimi ile) |
- | 130 | dd mon yyyy hh:mi:ss:mmmAM | Hicri |
- | 131 | dd/mm/yy hh:mi:ss:mmmAM | Hicri |
Örnek 1:
CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),10)
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),6)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)
Çıktısı:
Nov 04 2014 11:45 PM
11-04-14
11-04-2014
04 Nov 14
04 Nov 2014
04 Nov 2014 11:45:34:243
Örnek 2:
Aşağıdaki gibi tablomuz olsun
id | ad_soyad | dogum_tarihi |
1 | Salih ESKİOĞLU | 1980-01-19 |
2 | İlhan ÖZLÜ | 1979-05-01 |
Select ad_soyad, CONVERT(VARCHAR(11),dogum_tar,106) AS [Doğum Tarihi] From Personel
Çıktısı:
ad_soyad | Doğum Tarihi |
Salih ESKİOĞLU | 19 Jan 1980 |
İlhan ÖZLÜ | 01 May 1979 |
Burada ki örneği incelediğimiz zaman veritabanında ki Perspnel tablosunda dogum_tar alanında bilgiler YYYY-MM-DD şeklinde tutulmaktadır. İlgili alana biçim değişimi uygulanarak hem görsellik hem de okuma kolaylığı sağlanmış olunuyor. Dikkat edecek olursanız AS ifadesinden sonra köşeli parantezli yazım kullanılmıştır. Köşeli parantezli yapıda belirteceğimiz görüntü adı için boşluk ve Türkçe karakter kullanabiliriz.