Merhaba arkadaşlar;
SQL üzerinde çalışmalarımız devam ediyor. İlerde komplex procudereler yazarken bizlere lazım olabilecek elemanları yavaş yavaş oluşturmaya başladık.
Şimdi sıra CharIndex() kullanımında. Kullanımı çok basit olan CharIndex() adında anladıgımız gibi bir string ifade içinde başka bi string ifade aramak için ve index no yakalamak için kullanılır.
Hemen bir örnek verecek olursak
SELECT CharIndex('a','fatih')
Eğer aranan karakter( yada karakterler) bulunursa index no, bulunamazsa da 0 dönecektir.
Bu örneğe göre dönecek olan değerimiz dönecek olan değerimiz 2 dir.
(Eğer birden fazla yerde bulunursa ilk bulunan index dönecektir...)
C# VB.NET vs. diller tarafında butür indexlemeler 0 dan başlar ama SQL de direk 1 den başladıgını farketmişsinizdir. Yani bu işlemi .net tarafında karşılıgını yapmış olsaydık dönecek değer 1 oludu.
Biraz daha detaylı bir örnek verecek olursak
DECLARE @returnValue int
SELECT @returnValue=CHARINDEX('a','ADANA')
IF(@returnValue=0)
print 'Aranılan Karakteri içermiyor...'
ELSE
print 'Karakter Index='+ Convert(varchar(10),@returnValue)
SELECT PATINDEX('%T%','FATİH') <-- amaca="" ayn="" eder...="" hizmet="" span="">
Artık lazım olması durumunda nasıl kullanılacagını biliyoruz. Bir süre daha T-SQL üzerine gitmeyi planlanlıyorum.
Şimdilik hoşcakalın...-->
SQL üzerinde çalışmalarımız devam ediyor. İlerde komplex procudereler yazarken bizlere lazım olabilecek elemanları yavaş yavaş oluşturmaya başladık.
Şimdi sıra CharIndex() kullanımında. Kullanımı çok basit olan CharIndex() adında anladıgımız gibi bir string ifade içinde başka bi string ifade aramak için ve index no yakalamak için kullanılır.
Hemen bir örnek verecek olursak
SELECT CharIndex('a','fatih')
Eğer aranan karakter( yada karakterler) bulunursa index no, bulunamazsa da 0 dönecektir.
Bu örneğe göre dönecek olan değerimiz dönecek olan değerimiz 2 dir.
(Eğer birden fazla yerde bulunursa ilk bulunan index dönecektir...)
C# VB.NET vs. diller tarafında butür indexlemeler 0 dan başlar ama SQL de direk 1 den başladıgını farketmişsinizdir. Yani bu işlemi .net tarafında karşılıgını yapmış olsaydık dönecek değer 1 oludu.
Biraz daha detaylı bir örnek verecek olursak
DECLARE @returnValue int
SELECT @returnValue=CHARINDEX('a','ADANA')
IF(@returnValue=0)
print 'Aranılan Karakteri içermiyor...'
ELSE
print 'Karakter Index='+ Convert(varchar(10),@returnValue)
SELECT PATINDEX('%T%','FATİH') <-- amaca="" ayn="" eder...="" hizmet="" span="">
Artık lazım olması durumunda nasıl kullanılacagını biliyoruz. Bir süre daha T-SQL üzerine gitmeyi planlanlıyorum.
Şimdilik hoşcakalın...-->