Bu bölümde SQL'de LEFT, RIGHT, LEN ve REPLACE metin fonksiyonlarını nasıl kullanabileceğimizi öğreneceğiz.
İlk olarak Person.PersonPhone tablomuzun ilk 1000 satırını sorgulatalım.
TOP (1000) ifadesini silelim ve tüm kayıtları listeleyelim.
[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.
WHERE PhoneNumber NOT LIKE '%(%'kriteri ile telefon numarasında parantez olan tüm kayıtları liste dışı bırakabiliriz.
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 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.
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.
Sadece 12 haneden oluşan telefon numaralarını listelemek istersek
WHERE LEN([PhoneNumber]) = 12kriterini yazmamız yeterlidir.
Şimdi Person.EmailAddress tablosunun ilk 1000 satırını sorgulatalım.
Daha önce yaptığımız gibi TOP (1000) ifadesini silelim.
Eğer mail adreslerindeki "adventure-works" ifadelerini "gmail" ile değiştirmek istersek REPLACE() fonksiyonunu kullanmalıyız.
[Modified Email] = REPLACE([EmailAddress],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.
'adventure-works','gmail')
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.