Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Sql Server 2008 de Cast & Convert

Yazar: İbrahim Ersoy

Kategori: SQL Server

Eklenme Tarihi: 06.11.2008 21:54:52

Bu yazımda Sql Server 2008 de bulunan bu iki ifadeyi anlatıyor olacağım...
Cast ve Convert ifadeleri veri tiplerini ve stillerini değiştirmemize olanak sağlarlar.
Aslına bakarsanız ikisinin de görevi aynıdır.Ancak,CONVERT deyimi ilgili değerin stilini de değiştirir...

örnek vermem gerekirse;

"4000 YTL" değerini para birimi olarak yazmak istersek 4.000 YTL dememiz gerekir. Yada 2008 yılını çift haneliye çevirirken "08" yazarız. işte bu gibi durumlarda CONVERT deyimini kullanırız...

Bir örnek yapalım isterseniz.
Daha iyi anlayacağınıza eminim:

Declare @zaman as DateTime;
set @zaman='01/04/1985';
Select @zaman;


kod cümleciğini çalıştırdığımız anda ekrana @zaman parametremize verdiğimiz 1 Nisan 1985 tarihini DateTime biçiminde yazacak ve böyle bir sonuç ortaya çıkacaktır:

1985-01-04 00:00:00.000

Bu bizim istediğimiz bir sonuç değildir.Dolayısıyla bunu uygun bir formatlama biçimine dönüştürmemiz gerekir.Gelin bunu Cast ile nasıl yaparız öğrenelim...

İlgili Select cümleciğimizi bu şekilde yazarsak eğer:

Select CAST(@zaman as nvarchar(50));

Aşağıdaki gibi bir sonuç elde edeceğimize hiç şüphe yoktur:

Jan 4 1985 12:00AM

İşte bu bizim tamda istediğimiz bir biçimdir.Bu ifade yapısı,yani "Cast" deyimi Sql Server 2005'de de çalışmaktadır...

Ve bunun tam tersini yapmak istersek de;

Select CAST('Jan 4 1985 12:00AM' as DateTime);

Kod Cümleciğini çalıştırmamız yeterli olacaktır...

Şimdi gelelim Convert Deyimi ile bunları nasıl yapacağımıza...

Convert ifadesinin kullanım şekli:

Convert(veritipi,değer,stil);

şeklindedir...

Örnek yapalım hemen...

Select Convert(DATETIME,'Jan 4 1985 12:00AM');

ifadesi aşağıdaki sonucu döndürecektir:

1985-01-04 00:00:00.000

yani yukarıda yaptığımız CAST ifadesiyle aynı görevi yapıyor...

Convert ifadesinde Stil özelliğini hiç kullanmadık.Gelin onu da birkaç örnekte yapalım.

Stil değeri çıktı ifadesini adı üstünde stil vermeye zorlar.Stil değeri nümerik bir alandır ve 0 dan 7 ye kadar olan tüm sayı değerlerini kabul eder(0 değeri aslında buna dahil değildir.0 değerini etkisiz eleman olarak algılayabilirsiniz...)

Örnek vermem gerekirse;

Declare @zaman as DateTime;
set @zaman='01/04/1985';
Select Convert(nvarchar(50),@zaman,0);

değeri bize,

Jan 4 1985 12:00AM

çıktısını verecektir.

Tüm parametrelerin çıktısı aşağıda verilmiştir...


Select Convert(nvarchar(50),@zaman,1); ----->>>> 01/04/85
Select Convert(nvarchar(50),@zaman,2); ----->>>> 85.01.04
Select Convert(nvarchar(50),@zaman,3); ----->>>> 04/01/85
Select Convert(nvarchar(50),@zaman,4); ----->>>> 04.01.85
Select Convert(nvarchar(50),@zaman,5); ----->>>> 04-01-85
Select Convert(nvarchar(50),@zaman,6); ----->>>> 04 Jan 85
Select Convert(nvarchar(50),@zaman,7); ----->>>> Jan 04, 85

gibi çıktılar alacaksınızdır...

Umarım bu makalem açıklayıcı olabilmiştir.
İyi Çalışmalar...
Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
ASP.NET MVC'yi Projeleriniz de kullandınız mı?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.