Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Ez a függvény egy karakterkifejezést keres egy második karakterkifejezésben, és visszaadja az első kifejezés kezdő pozícióját, ha megtalálható.
Transact-SQL szintaxis konvenciói
Szemantika
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
Arguments
expressionToFind
A keresendő sorozatot tartalmazó karakterkifejezés . A expressionToFind karakterkorlátja 8000.
expressionToSearch
Keresendő karakterkifejezés.
start_location
Egész szám vagy bigint kifejezés, amelyen a keresés elindul. Ha start_location nincs megadva, negatív vagy nulla (0) értékkel rendelkezik, a keresés a expressionToSearch kezdetétől kezdődik.
Visszatérési típusok
bigint , ha az expressionToSearchnvarchar(max), varbinary(max), vagy varchar(max) adattípussal rendelkezik; int egyébként.
Megjegyzések
Ha a expressionToFind vagy a expressionToSearch kifejezés Unicode-adattípussal (nchar vagy nvarchar) rendelkezik, és a másik kifejezés nem, a függvény unicode-adattípussá alakítja a CHARINDEX másik kifejezést.
CHARINDEX nem használható kép-, ntext- vagy szöveges adattípusokkal.
Ha a expressionToFind vagy a expressionToSearch kifejezésnek értéke van NULL , CHARINDEX akkor a függvény a függvényt NULLadja vissza.
Ha CHARINDEX a expressionToFind kifejezés nem található a expressionToSearch fájlban, CHARINDEX a függvény ad 0vissza.
CHARINDEX a bemeneti rendezés alapján végez összehasonlításokat. Ha egy adott rendezésben szeretne összehasonlítást végezni, használjon COLLATE explicit rendezést a bemenetre.
A visszaadott kezdő pozíció 1-alapú, nem 0-alapú.
0x0000 A (char(0)) a Windows-rendezésekben nem definiált karakter, és nem szerepelhet a fájlban CHARINDEX.
Kiegészítő karakterek (helyettesítő párok)
Kiegészítő karakter (SC) rendezések használatakor a start_location és a visszatérési érték is egy karakterként, nem kettőként számítja ki a helyettesítő párokat. További információ: Rendezés és Unicode-támogatás.
Példák
Egy. Kifejezés kezdőpozíciójának visszaadása
Ez a példa a keresett sztringérték változóban bicyclekeres@document.
DECLARE @document AS VARCHAR (64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('bicycle', @document);
GO
Itt van az eredményhalmaz.
-----------
48
B. Keresés adott pozícióból
Ez a példa az opcionális start_location paraméterrel indítja el a keresést vital a keresett sztringérték változó @documentötödik karakterénél.
DECLARE @document AS VARCHAR (64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('vital', @document, 5);
GO
Itt van az eredményhalmaz.
-----------
16
C. Nem létező kifejezés keresése
Ez a példa az eredményhalmazt mutatja be, ha CHARINDEX nem találja a expressionToFind kifejezést a expressionToSearch fájlban.
DECLARE @document AS VARCHAR (64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('bike', @document);
GO
Itt van az eredményhalmaz.
-----------
0
D. Kis- és nagybetűkre érzékeny keresés végrehajtása
Ez a példa a keresett sztringben TESTlévő sztring This is a Test kis- és nagybetűkre vonatkozó keresését mutatja be.
USE tempdb;
GO
--perform a case sensitive search
SELECT CHARINDEX('TEST', 'This is a Test' COLLATE Latin1_General_CS_AS);
Itt van az eredményhalmaz.
-----------
0
Ez a példa a keresett sztringben Testlévő sztring This is a Test kis- és nagybetűkre vonatkozó keresését mutatja be.
USE tempdb;
GO
SELECT CHARINDEX('Test', 'This is a Test' COLLATE Latin1_General_CS_AS);
Itt van az eredményhalmaz.
-----------
11
E. Kis- és nagybetűk megkülönböztetése
Ez a példa a keresett sztringben TESTlévő sztring This is a Test kis- és nagybetűkre vonatkozó keresését mutatja be.
USE tempdb;
GO
SELECT CHARINDEX('TEST', 'This is a Test' COLLATE Latin1_General_CI_AS);
GO
Itt van az eredményhalmaz.
-----------
11
Példák: Azure Synapse Analytics and Analytics Platform System (PDW)
F. Keresés egy sztringkifejezés elejétől
Ez a példa a sztring isThis is a stringelső helyét adja vissza az 1. pozíciótól kezdve (az első karakter).This is a string
SELECT CHARINDEX('is', 'This is a string');
Itt van az eredményhalmaz.
---------
3
G. Keresés az első pozíciótól eltérő helyről
Ez a példa a sztring isThis is a stringelső helyét adja vissza, és a keresést a 4. pozícióból (a negyedik karakterből) indítja el.
SELECT CHARINDEX('is', 'This is a string', 4);
Itt van az eredményhalmaz.
---------
6
H. Eredmény, ha a sztring nem található
Ez a példa a visszatérési értéket mutatja be, ha CHARINDEX nem talál sztringet string_pattern a keresett sztringben.
SELECT TOP (1) CHARINDEX('at', 'This is a string')
FROM dbo.DimCustomer;
Itt van az eredményhalmaz.
---------
0