Tip Dönüşüm Fonksiyonları (Cast ve Convert)

Tip Dönüşüm Fonksiyonları bir veri türündeki veriyi başka bir veri türüne çevirir. Bu süreçin nasıl işlediğini gelin hep beraber inceleyelim.

Tip Dönüşüm Fonksiyonları bir veri türündeki veriyi başka bir veri türüne çevirir. Bu süreçin nasıl işlediğini gelin hep beraber inceleyelim.

Tip Dönüşüm Fonksiyonları (Cast ve Convert )

Bir veri türündeki veriyi başka bir veri türüne çevirir. Cast ve Convert benzer işlevlere sahiptir. Aralarındaki fark cast sadece çeviri yapar. Convert ise cast gibi çeviri yapabilir, ek olarak çevirme işleminde çevrilen veriyi biçimleyebilir. Örneğin money türündeki veriyi her üç hanede bir virgül koyarak biçimleyebilir.

Örnek:
declare @ifade nvarchar(30)
set @ifade='10.10.2008'
select cast(@ifade as smalldatetime) as tarih
nvarchar veri ütründeki veri smalldatetime a çevrildi

aynı örnek convert ile yapılırsa son satır
select convert(smalldatetime,@ifade) as tarih
şeklinde olur. Bu örnekte cast ve convert aynı işi yapar.

Convert fonksiyonunda çevirimde biçimleme yapılabilir.

smalldatetime veya datetime türündeki veriler karakter veri türüne (nchar, nvarchar, char, varchar, nchar veya nvarchar ) çevrilirken tarih biçimlenebilir..

Biçimleme listesi

Without century (yy) With century (yyyy) Standard Input/Output
- 0 or 100 Default mon dd yyyy hh:miAM (or PM)
1 101 USA mm/dd/yy
2 102 ANSI yy.mm.dd
4 104 German dd.mm.yy
5 105 Italian dd-mm-yy
6 106 - dd mon yy
7 107 - Mon dd, yy
8 108 - hh:mm:ss
- 9 or 119 Default + milliseconds mon dd yyyy hh:mi:ss:mmmAM (or PM)
10 110 USA mm-dd-yy
11 111 JAPAN yy/mm/dd
12 112 ISO yymmdd
- 13 or 113 Europe default + milliseconds dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 or 120 ODBC standardı yyyy-mm-dd hh:mi:ss(24h)
- 21 or 121 ODBC standardı (milisaniyeli) yyyy-mm-dd hh:mi:ss.mmm(24h)
- 126 ISO8601 yyyy-mm-dd Thh:mm:ss.mmm(no spaces)
- 130 Hicri dd mon yyyy hh:mi:ss:mmmAM
- 131 Hicri dd/mm/yy hh:mi:ss:mmmAM


Tarih biçimlemeye örnek
declare @ifade smalldatetime
set @ifade='10.10.2008'
select convert(nvarchar(30),@ifade,100) as tarih
100 sayısını değiştirerek 101,102,...114 e kadar deneyerek farklarını öğrenin. Ayrıca 120,121,126,130 ve 131 i de deneyiniz.

-----------------------------------------------------------
select convert(nvarchar(30),@ifade,109) as tarih
burada 109 biçimlemesinde ayın ismi yazılır. Ayın ismi yazılırken Türkçe yazması için
set language Turkish
yazılarak dilin türkçeye çevrilmesi gereklidir.

float ve real veri türündeki verileri biçimleyerek karakter veri türüne çevirmek

Value Output
0 (default) Tam kısım ve ondalık kısımdaki hanelerim tamamı 6 haneden fazla ise 6 haneye çevirir.tamamını alarak 6 tane hane alır
1 8 haneden sonra bilimsel biçime dçnüşür (e+002 gibi)
2 16 haneden sonra bilimsel biçime dçnüşür (e+002 gibi)


float ve real veri türleri ondalık hane içeren sayısal veri türleridir. Noktadan sonra 38 e kadar hane sayısı alırlar.
declare @kayannoktali float
set @kayannoktali=152.38888
select convert(nvarchar(50),@kayannoktali,2)
2 rakamını 0,1 ile değiştirerek deneyiniz.


money ve smallmoney veri türündeki verileri biçimleyerek karakter veri türüne çevirmek

Value Output
0 (default) Her üç hanede bir virgül kullanılmaz, sadece ondalık ifade nokta ile ayrılır. Örnek: 1000.98
1000 lira 98 kuruş . Kuruş ifadesi firmalarda önemlidir. Yoğun satış olan firmalarda. Kurul daima göz ardı edilirse. Kasa hesabı denkeştirilemez. Kuruş yok sayılırsa. Kasa daima fazla verir, stok ise kontrolsüz azalmış olur.
1 Her üç basamakta bir virgül koyar. Kuruş hanesi iki basamaklıdır ve nokta işe ayrılır Örnek: 3,510.92.
2 Her üç hanede bir virgül koymaz. Ondalık haneden 4 basamak alır.Örnek: 1000.9819 bin lira dokuzbinsekizyüzondokuz kuruş

 

declare @paraparapara money
set @paraparapara=1500000000
select convert(nvarchar(50),@paraparapara,1)

Telefon +90 505 747 42 84
Email info@devedijital.com
Adres
Tacettin Veli Mahallesi Halit Narin Caddesi Bahadır Plaza Kat:11 Daire:41 38230 Deve Dijital Melikgazi/Kayseri/Türkiye