29 Nisan 2015 Çarşamba

SQL'de CHARINDEX Fonksiyonu Kullanımı

Transact-SQL dilinde kullanılan önemli karakter fonksiyonlarından biriside CHARINDEX'dir. Bu fonksiyon bir karakter dize içinde belirtilen bir ifadenin (karakterin) başlangıç konumunu döndürür. Örneğin e-mailleri tutan bir alanınız mevcut, burada "@" işareti öncesi ve sonrasını belirlemede veya ',' ile ayrılmış bir karakter dizesinde virgül öncesini ve sonrasını belirlemede kullanabilirsiniz. Kısaca bir karakter kümesinin içerisinde geçen bir karakterin, bu karakter kümesinde kaçıncı karakter olduğunu bulmak için ve bir string ifade içinde başka bir string ifade aramak için kullanırız.

Kullanımı : CHARINDEX ( ifade1, ifade2[ , başlangıç konumu] )  
İfade1: Aranacak karakterleri belirtir.  
İfade2: İfade1'deki karakterlerin aranacağı karakterleri belirtir. 
Başlangıç Konumu: Aramanın başlanacağı konumu belirtir.

Döndürdüğü Tür: Int 
 
İfadelerden birisi NULL ise CHARINDEX fonksiyonu NULL değerini döndürür. İfade1, İfade2 içinde bulunamazda 0 değeri döner.

CHARINDEX fonksiyonu 2 parametre almaktadır. 1.parametredeki değerin 2.parametre olarak verilmiş değerde olup olmadığını belirtir. Kullanımı oldukça basittir. 

Örnek Sorgu 1: 
DECLARE @ornek1 varchar(255)
SET @ornek1= 'Cogito ergo Sum: Düşünüyorum, o halde varım. René Descartes'
SELECT CHARINDEX('ergo', @ornek1)
SELECT CHARINDEX(',', @ornek1) 

Örnek Sorgu 2: 
SELECT Adi, CHARINDEX('A',Adi)
AS "A Harfinin Konumu",
CHARINDEX ('a',Adi) AS "a Harfinin Konumu"
FROM dbo.Personeller

Örnek Sorgumuzda a ve A değerleri aynıdır. Aranan değerin ilk bulunduğu konumunun yeri döner. Diğer sonraki konumlar dikkate alınmaz. Yani tek karakter için büyük küçük harf ayrımı yoktur.

Örnek Sorgu 3: 
SELECT CHARINDEX ('E','Ne kadar bilirsen bil, söylediklerin karşındakinin anlayabileceği kadardır. Mevlana')
SELECT CHARINDEX ('L','Zeki adamlar söyleyecek bir şeyleri olduğu için konuşurlar. Aptallar, konuşmaları gerektiği için. Platon')
SELECT CHARINDEX ('KİMSE','Bir kimsenin düşüncesini açıklayamaması köleliktir. Euripides')
SELECT CHARINDEX ('DİY','Dünyanın ahlaksız diye adlandırdığı kitaplar dünyaya kendi utancını gösterenlerdir. Oscar Wilde') 

Hiç yorum yok:

Yorum Gönderme

Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü