Metin Fonksiyonları

Bu bölümde SQL'de LEFT, RIGHT, LEN ve REPLACE metin fonksiyonlarını nasıl kullanabileceğimizi öğreneceğiz.

metin fonksiyonları

İlk olarak Person.PersonPhone tablomuzun ilk 1000 satırını sorgulatalım.

metin fonksiyonları

TOP (1000) ifadesini silelim ve tüm kayıtları listeleyelim.


LEFT() Fonksiyonu

metin fonksiyonları

[Area Code] adlı yeni bir değişken oluşturduk ve LEFT fonksiyonu ile telefon numarasının ilk 3 karakterini değişkene atadık. LEFT() fonksiyonu 2 parametreden oluşmaktadır. İlk parametrede değişken adını, ikinci parametrede soldan itibaren kaç adet karakterin seçileceği yazılmaktadır.

[Area Code] = LEFT(PhoneNumber, 3)
kodları ile telefon numaralarının ilk 3 hanesini Area Code (alan kodu) değişkeninde listeleyebiliriz.

metin fonksiyonları

WHERE PhoneNumber NOT LIKE '%(%'
kriteri ile telefon numarasında parantez olan tüm kayıtları liste dışı bırakabiliriz.


RIGHT() Fonksiyonu

metin fonksiyonları

LEFT'e benzer bir şekilde RIGHT fonksiyonu da sağdan itibaren kaç adet karakterin alınacağını belirtir.

[Last 4] = RIGHT(PhoneNumber, 4)
kodları ile telefon numarasının son 4 hanesini [Last 4] adlı yeni bir değişkene atadık.


LEN() Fonksiyonu

metin fonksiyonları

LEN() fonksiyonu bir değişkene ait değerlerin kaç karakterden oluştuğunu bulabiliriz. Bu örnekte

[Phone Number Length] = LEN(PhoneNumber)
kodları ile telefon numaralarının kaç haneden oluştuğunu [Phone Number Length] adlı yeni bir değişkene atadık.

metin fonksiyonları

Eğer WHERE kriterini yorum satırı haline getirip devre dışı bırakır ve telefon numarası uzunluklarını büyükten küçüğe sıralarsak bazı telefon numaralarının 19 haneden oluştuğunu görebiliriz. Bunun sebebi ülke kodlarının da parantezler içerisinde listelenmesidir.

metin fonksiyonları

Sadece 12 haneden oluşan telefon numaralarını listelemek istersek

WHERE LEN([PhoneNumber]) = 12
kriterini yazmamız yeterlidir.

metin fonksiyonları

Şimdi Person.EmailAddress tablosunun ilk 1000 satırını sorgulatalım.

metin fonksiyonları

Daha önce yaptığımız gibi TOP (1000) ifadesini silelim.


REPLACE() Fonksiyonu

metin fonksiyonları

Eğer mail adreslerindeki "adventure-works" ifadelerini "gmail" ile değiştirmek istersek REPLACE() fonksiyonunu kullanmalıyız.

[Modified Email] = REPLACE([EmailAddress],
'adventure-works','gmail')
kodları ile [EmailAddress] değişkenindeki 'adventure-works' değerlerinin tamamını 'gmail' ile değiştirdik ve [Modified Email] adlı yeni bir değişkene atadık. REPLACE fonksiyonu görüldüğü gibi 3 parametreden oluşmakta ve bu şekilde çalışmaktadır.

Dikkat ettiyseniz öğrendiğimiz LEFT, RIGHT, LEN ve REPLACE fonksiyonlarının kullanımı Excel ile birebir aynı. Bu sebeple eğer Excel biliyorsanız SQL'de formüller konusunda zorluk yaşamayacaksınız. Bir sonraki bölümde özel metin fonksiyonları konusuna değineceğiz.

<<< Önceki Konu
Sonraki Konu >>>