Udostępnij za pośrednictwem


CHARINDEX (języka Transact-SQL)

Wyszukiwanie expression2 dla expression1 i zwraca jego uruchamianie umieść Jeśli. Wyszukiwanie rozpoczyna się od start_location.

Topic link iconKonwencje składni języka Transact-SQL

CHARINDEX ( expression1 ,expression2 [ , start_location ] ) 

Argumenty

  • expression1
    Is a character expression that contains the sequence to be found.expression1 is limited to 8000 characters.

  • expression2
    Wyrażenie znakowe do wyszukania.

  • start_location
    Wyrażenie typu liczba całkowita lub bigint, od którego rozpoczyna się wyszukiwanie.Jeśli parametr start_location nie jest określony, jest liczbą ujemną lub ma wartość 0, wyszukiwanie rozpoczyna się od początku parametru expression2.

Zwracane typy

bigint Jeśli expression2 jest varchar(max), nvarchar(max) lub varbinary(max) typy danych; w przeciwnym wypadku int.

Remarks

Jeśli albo expression1 lub expression2 jest (typ danych Unicodenvarchar lub nchar) i innych nie, drugi zostanie przekonwertowany na typ danych Unicode. Nie można używać CHARINDEX text, ntext, a image typy danych.

Jeśli albo expression1 lub expression2 ma wartość NULL, CHARINDEX zwraca wartość NULL, gdy poziom zgodności bazy danych jest 70 lub nowszej. Jeśli 65 lub niższy poziom zgodności bazy danych CHARINDEX zwraca wartość NULL tylko wtedy, gdy oba expression1 i expression2 to wartość NULL.

Jeśli expression1 nie został znaleziony w ciągu expression2CHARINDEX zwraca wartość 0.

Funkcja CHARINDEX przeprowadza porównania na podstawie sortowania danych wejściowych.Aby przeprowadzić porównanie przy użyciu określonego sortowania, można użyć instrukcji COLLATE w celu zastosowania do danych wejściowych jawnego sortowania.

Poprawiono sekcji uprawnienia.

Przykłady

W poniższym przykładzie zwraca pozycję jaką sekwencję znaków bicycle uruchamia się w DocumentSummary Kolumna Document Tabela.

DECLARE @document varchar(64)

SELECT @document = 'Reflectors are vital safety' +
                   ' components of your bicycle.'
SELECT CHARINDEX('bicycle', @document)
GO

Here is the result set.

----------- 
48          

W poniższym przykładzie użyto opcjonalny start_location parametr, aby rozpocząć wyszukiwanie vital w piątej charakter DocumentSummary Kolumna.

DECLARE @document varchar(64)

SELECT @document = 'Reflectors are vital safety' +
                   ' components of your bicycle.'
SELECT CHARINDEX('vital', @document, 5)
GO

Here is the result set.

----------- 
16          

(1 row(s) affected)

W poniższym przykładzie zestaw wyników, kiedy expression1 nie został znaleziony w ciągu expression2.

DECLARE @document varchar(64)

SELECT @document = 'Reflectors are vital safety' +
                   ' components of your bicycle.'
SELECT CHARINDEX('bike', @document)
GO

Here is the result set.

----------- 
0          

(1 row(s) affected)

W następującym przykładzie wykonywana przypadek poufnych wyszukiwanie ciąg 'TEST' w 'Das jst ein Test'.

USE tempdb;
GO
--perform a case sensitive search
SELECT CHARINDEX ( 'TEST',
       'Das ist ein Test'
       COLLATE Latin1_General_CS_AS)

Here is the result set.

----------- 
0          

W następującym przykładzie wykonywana przypadek poufnych wyszukiwanie ciąg 'Test' w 'Das jst ein Test'.

USE tempdb;
GO
SELECT CHARINDEX ( 'Test',
       'Das ist ein Test'
       COLLATE Latin1_General_CS_AS)

Here is the result set.

----------- 
13          

W następującym przykładzie wykonywana rozróżniana wyszukiwanie ciąg 'TEST' w 'Das jst ein Test'.

USE tempdb;
GO
SELECT CHARINDEX ( 'Test',
       'Das ist ein Test'
       COLLATE Latin1_General_CI_AS)
GO

Here is the result set.

----------- 
13