CHARINDEX (Transact-SQL)
Arama expression2 için expression1 ve başlangıç getirin, döndürür bulundu.Arama başlar start_location.
Sözdizimi
CHARINDEX ( expression1 ,expression2 [ , start_location ] )
Bağımsız değişkenler
expression1
Bir karakter ifade bulunması için sırasını içerir.expression18000 karakter ile sınırlıdır.expression2
Aranacak karakteri ifade edilir.start_location
Bir tamsayı olduğundan veya bigintAramaya başladığıifade . start_location Belirtilmezse, negatif bir sayı veya 0, başındaki arama başlar expression2.
Dönüş Türleri
bigintif expression2 is of the varchar(max), nvarchar(max) or varbinary(max) data types; Aksi takdirde, int.
Açıklamalar
Ya da, expression1 veya expression2 Unicode veri türüdür (nvarchar veya nchar) ve diğer değil, diğer bir Unicode veri türü. dönüştürülenCHARINDEX ile kullanılamaz image veri türü.
Ya da, expression1 veya expression2 Null, CHARINDEX döndürür veritabanı Uyumluluk düzey 70 olduğunda null veya daha yüksek.Veritabanı Uyumluluk düzey 65 veya daha düşük ise, CHARINDEX null döndürür yalnızca her ikisi de expression1 ve expression2 olan null.
expression1 Bulunamadı içinde expression2, CHARINDEX 0 verir.
CHARINDEX harmanlama giriş alarak karşılaştırmalar yapar.Bir karşılaştırma içinde belirtilen harmanlamagerçekleştirmek için HARMANLA harmanlama açık bir girişe uygulamak için kullanabilirsiniz.
1 Tabanlı, 0 tabanlı döndürülen başlangıç konumu.
Örnekler
Aşağıdaki örnek, hangi konumdan verir karakter dizisi bicycle başlangıcı DocumentSummary sütun Document tablo.
DECLARE @document varchar(64)
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.'
SELECT CHARINDEX('bicycle', @document)
GO
Sonuç kümesi buradadır.
-----------
48
Aşağıdaki örnek, isteğe bağlı kullanır start_location aramakta başlatmak için parametre vital beşinci karakter DocumentSummary sütun.
DECLARE @document varchar(64)
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.'
SELECT CHARINDEX('vital', @document, 5)
GO
Sonuç kümesi buradadır.
-----------
16
(1 row(s) affected)
sonuç kümesi aşağıdaki örnekte gösterilmektedir, expression1 bulunamadı içinde expression2.
DECLARE @document varchar(64)
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.'
SELECT CHARINDEX('bike', @document)
GO
Sonuç kümesi buradadır.
-----------
0
(1 row(s) affected)
Aşağıdaki örnek dizeiçin durum duyarlı arama yapar'TEST' , 'Das jst ein Test'.
USE tempdb;
GO
--perform a case sensitive search
SELECT CHARINDEX ( 'TEST',
'Das ist ein Test'
COLLATE Latin1_General_CS_AS)
Sonuç kümesi buradadır.
-----------
0
Aşağıdaki örnek dizeiçin durum duyarlı arama yapar'Test' , 'Das jst ein Test'.
USE tempdb;
GO
SELECT CHARINDEX ( 'Test',
'Das ist ein Test'
COLLATE Latin1_General_CS_AS)
Sonuç kümesi buradadır.
-----------
13
Aşağıdaki örnek dizeiçin durum duyarlı arama yapar'TEST' , 'Das jst ein Test'.
USE tempdb;
GO
SELECT CHARINDEX ( 'Test',
'Das ist ein Test'
COLLATE Latin1_General_CI_AS)
GO
Sonuç kümesi buradadır.
-----------
13