SQL Server PATINDEX-funktion

Sql Server Patindex Funktion



Denne vejledning har til formål at guide dig til at forstå, hvordan du bruger PATINDEX-funktionen i SQL Server. Denne funktion giver dig mulighed for at bestemme startpositionen for et mønster i et givet inputudtryk.

SQL Server Patindex() Funktion

Følgende kodestykke definerer syntaksen for PATINDEX()-funktionen i SQL Server:







PATINDEX ( '%mønster%' , udtryk )



Argumenterne udforskes nedenfor:



  1. mønster – dette argument definerer det tegnudtryk, der skal søges i udtrykket. Denne værdi understøtter jokertegn såsom % og _. Funktionen anvender jokertegnene på samme måde som LIKE-operatoren. Du kan maksimalt angive 8000 tegn.
  2. udtryk – dette definerer det udtryk, hvor mønsteret søges. Dette kan være en bogstavelig værdi eller en kolonne.

Funktionen vil derefter returnere en heltalsværdi, der angiver startpositionen for det første forekomstmønster i udtrykket. Hvis mønsteret ikke findes i udtrykket, returnerer funktionen 0.





Hvis et af de påkrævede argumenter er NULL, vil funktionen automatisk returnere NULL.

Eksempel på brug

De følgende eksempler illustrerer, hvordan man bruger patindex()-funktionen i SQL Server.



Eksempel 1 – Grundlæggende brug

Nedenfor er en demonstration af den grundlæggende brug af patindex()-funktionen.

Vælg patindex ( '%bits%' , 'https://geekbits.io' ) som pos;

Dette skulle returnere startpositionen for det fundne mønster som:

pos
13

Eksempel 2

I eksemplet nedenfor bruger vi patindex()-funktionen med flere jokertegn.

Vælg patindex ( '%g__k%' , 'https://geekbits.io' ) som pos;

I dette tilfælde skal funktionen returnere:

pos
9

Eksempel 3 – Brug af funktionen Patindex() med komplekst mønster

Vi kan også sende et komplekst regulært udtryk som mønsteret i patindex-funktionen som vist:

Vælg patindex ( '%[^0-9A-Za-z]%' , 'Velkommen til Linuxhint!!' ) som match;

Resultat:

match
enogtyve

Eksempel 4 – Brug af Patindex-funktionen med kolonne

Antag, at vi har en tabel som illustreret nedenfor:

Vi kan bruge patindex()-funktionen til at søge efter matchende mønster i kolonnen produktnavn som vist i forespørgslen nedenfor:

Vælg produktnavn, producent, patindex ( '%2022%' , produktnavn ) placere
fra produkter

Dette skulle returnere positionen for det matchende mønster som vist:

Konklusion

I denne øvelse dækkede vi det grundlæggende i arbejdet med PATINDEX()-funktionen i SQL Server.