Merhabalar Arkadaşlar,
Sql string fonksiyonlarından en yaygın kullanılanlardan olan CHARINDEX, LEN, SUBSTRING fonksiyonlarını örneklerden giderek işleyeceğiz.
Örneğin email listemiz var hangi tip mail olduklarını ayrı bir kolona basmak istiyoruz.@ işaretinden sonraki karakterleri almak istiyoruz.
Öncelikle CHARINDEX fonksiyonunu kullanarak @ işaretinin kaçıncı karakterden başladığını buluyoruz +1 i @ işaretinden sonraki kısmı alacağımız için koyduk.
SELECT CHARINDEX('@', EmailAddress)+1 FROM AdventureWorks2012.Person.EmailAddress
'@' işareti hangi karakteri arayacağını ,EmailAddress ise hangi kolonda arayacağını gösteriyor.
SELECT CHARINDEX('@', 'ali@gmail.com') sonuç 4 döner çünkü 'ali@gmail.com' srtinginde 4. Sırada.
Şimdide LEN fonksiyonunu kullanacağız
Buda satırın uzunluğunu dönürür.
Son olarak ta SUBSTRING
SUBSTRING(String,BaslangicKonumu,BitişKonumu)
Aşağıdaki örneğimize uygularsak
ilk parametre olan String e EmailAdress kolonunu veriyoruz çünkü işlemi bu kolonda yapacağız.
İkinci parametre olan Başlangıç konumunu daha önce CHARINDEX kullanarak bulduğumuz @ işaretinden sonraki karakterin başlangıç konumunu veriyoruz.
Üçüncü ve son olarak ta LEN fonksiyonu kullanarak kolonların son karakterdeki konumunu bulup @ ten sonra sonuna kadar olan string i alıyoruz.
SELECT SUBSTRING(EmailAddress, CHARINDEX('@', EmailAddress)+1, LEN(EmailAddress)) FROM [AdventureWorks2012].[Person].[EmailAddress]