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.