SQL Server PATINDEX-funksjon

Sql Server Patindex Funksjon



Denne opplæringen tar sikte på å veilede deg i å forstå hvordan du bruker PATINDEX-funksjonen i SQL Server. Denne funksjonen lar deg bestemme startposisjonen til et mønster i et gitt inndatauttrykk.

SQL Server Patindex()-funksjon

Følgende kodebit definerer syntaksen til PATINDEX()-funksjonen i SQL Server:







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



Argumentene utforskes nedenfor:



  1. mønster – dette argumentet definerer tegnuttrykket som skal søkes i uttrykket. Denne verdien støtter jokertegn som % og _. Funksjonen vil bruke jokertegnene på samme måte som LIKE-operatoren. Du kan bare angi maksimalt 8000 tegn.
  2. uttrykk – dette definerer uttrykket der mønsteret søkes. Dette kan være en bokstavelig verdi eller en kolonne.

Funksjonen vil da returnere en heltallsverdi som angir startposisjonen til det første forekomstmønsteret i uttrykket. Hvis mønsteret ikke finnes i uttrykket, returnerer funksjonen 0.





Hvis ett av de nødvendige argumentene er NULL, vil funksjonen automatisk returnere NULL.

Eksempel på bruk

Følgende eksempler illustrerer hvordan du bruker patindex()-funksjonen i SQL Server.



Eksempel 1 – Grunnleggende bruk

Nedenfor er en demonstrasjon av den grunnleggende bruken av patindex()-funksjonen.

å velge patindex ( '%bits%' , 'https://geekbits.io' ) som pos;

Dette skal returnere startposisjonen til det funnet mønsteret som:

pos
1. 3

Eksempel 2

I eksemplet nedenfor bruker vi patindex()-funksjonen med flere jokertegn.

å velge patindex ( '%g__k%' , 'https://geekbits.io' ) som pos;

I dette tilfellet skal funksjonen returnere:

pos
9

Eksempel 3 – Bruk av funksjonen Patindex() med komplekst mønster

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

å velge patindex ( '%[^0-9A-Za-z]%' , 'Velkommen til Linuxhint!!' ) som kamp;

Resultat:

kamp
tjueen

Eksempel 4 – Bruk av Patindex-funksjonen med kolonne

Anta at vi har en tabell som illustrert nedenfor:

Vi kan bruke patindex()-funksjonen til å søke etter samsvarende mønster i produktnavn-kolonnen som vist i spørringen nedenfor:

å velge produktnavn, produsent, patindeks ( '%2022%' , Produktnavn ) plass
fra produkter

Dette skal returnere posisjonen til det matchende mønsteret som vist:

Konklusjon

I denne opplæringen dekket vi det grunnleggende om å jobbe med PATINDEX()-funksjonen i SQL Server.