Merhaba arkadaşlar, bu yazımda sizlere Sql CharIndex Kullanımı konusundan bahsedeceğim.
Sql CharIndex fonksiyonu, string içerisinde bir arama yapmak istediğimizde ve aradığımız ifadenin başlangıç değerini alabilmemizi sağlar. C# dilini kullanıyorsanız eğer buradaki IndexOf metodu gibidir. IndexOf metodu da parametre olarak belirttiğimiz ifadenin index değerini geriye döndürür.
Kullanımı:
CHARINDEX ( 'ARAMA YAPILACAK IFADE', 'ARAMA YAPILACAK KOLON-IFADE' )
Örnek Sql Kodu:
SELECT CHARINDEX ( '-', 'ARAMA YAPILACAK KOLON-IFADE' ) AS RETURNVALUE
Yukarıdaki örnekte CHARINDEX fonksiyonumuzdaki ilk parametresine ‘-‘ ifadesini verdik ve ikinci parametresine de arama yapılacak ifade değerimizi verdik. Sonuç olarak bize 2.parametredeki ‘-‘ değerinin başlangıç değerini bize döndürecektir.
Bir başka örnek üzerinden anlatmak istiyorum.
Bir tablomuz var ve bu tabloda e-mail adresi verilerimiz var. @ işaretinden sonra olan değeri almak istiyoruz. Bu işlemi sağlamak için CHARINDEX metodunu kullanabiliriz. Yazacağımız örnekte SUBSTRING fonksiyonu ile birlikte CHARINDEX fonksiyonumuzu kullanacağız. Ek olarak da LEN fonksiyonunu kullanarak karakter sayımızı alacağız.
Örnek Sql Kodu:
DECLARE @MailAddress VARCHAR(100);
SET @MailAddress = 'info@alicancevik.com';
SELECT CHARINDEX('@',@MailAddress) AS COLUMN1,
SUBSTRING(@MailAddress,CHARINDEX('@',@MailAddress) + 1,LEN(@MailAddress)) AS COLUMN2
Yukarıdaki örnekte mail adresi değerimiz mevcut ve @ işaretinden sonra da alicancevik.com değeri mevcut. Sql kodu ile mail adresindeki @ işaretinden sonra olan değeri SUBSTRING, CHARINDEX, LEN fonksiyonlarını kullanarak almış olduk.
Umarım faydalı olur.
Bir sonraki yazıda görüşmek üzere 🙂