SQL Server PATINDEX functie
samenvatting: in deze tutorial hebt u geleerd hoe u de SQL Server PATINDEX()
functie kunt gebruiken om de positie van een patroon in een string te vinden.
SQL Server PATINDEX() overview
de functie PATINDEX()
geeft de positie van het eerste voorkomen van een patroon in een string. De syntaxis van de functie PATINDEX()
is als volgt:
Code language: SQL (Structured Query Language) (sql)PATINDEX ( '%pattern%' , input_string )
de functie PATINDEX()
accepteert twee argumenten:
-
pattern
is een tekenuitdrukking die gevonden kan worden. Het kan jokertekens bevatten zoals%
en'_'
in het patroon. De Betekenis van de jokertekens is dezelfde als die van de operatorLIKE
. -
input_string
is een tekenreeks waarin het te doorzoeken patroon wordt weergegeven.
de PATINDEX()
geeft een geheel getal terug dat de positie specificeert van het eerste voorkomen van de pattern
in de input_string
, of nul van het niet gevonden patroon. De functie PATINDEX()
geeft NULL terug als pattern
of input_string
NULL is.
merk op dat dePATINDEX()
zoekt naar het patroon op basis van de collatie van de invoer. Als u een specifieke collatie wilt gebruiken, kunt u de COLLATE
clausule expliciet gebruiken.
SQL Server PATINDEX() functievoorbeelden
laten we enkele voorbeelden nemen van het gebruik van dePATINDEX()
functie.
a) SQL Server PATINDEX() eenvoudig voorbeeld
dit voorbeeld geeft de beginpositie van de substring 'ern'
in de string 'SQL Pattern Index'
:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%ern%', 'SQL Pattern Index') position;
Hier is de uitvoer:
position-----------9(1 row affected)
B) met Behulp van SQL Server PATINDEX() met meerdere wildcards voorbeeld
Dit voorbeeld gebruikt %
en _
wildcards te vinden van de positie waarop de patroon 'f'
, gevolgd door twee tekens en 'ction'
start de 'SQL Server String Function'
string:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%f__ction%', 'SQL Server String Function') position;
De output is als volgt:
Position-----------19(1 row affected)
C) met behulp van SQL Server PATINDEX() functie met tabelkolom voorbeeld
dit voorbeeld vindt de positie van het eerste voorkomen van het patroon 2018
In waarden van de product_name
kolom in de production.products
tabel uit de steekproefdatabase.
Code language: SQL (Structured Query Language) (sql)SELECT product_name, PATINDEX('%2018%', product_name) positionFROM production.productsWHERE product_name LIKE '%2018%'ORDER BY product_name;
de volgende afbeelding toont de gedeeltelijke uitvoer:
in deze handleiding hebt u geleerd hoe u de SQL Server PATINDEX()
functie kunt gebruiken om de positie van het eerste voorkomen van een patroon in een tekenreeks te vinden.
Leave a Reply