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:
- 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.
- 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:
pos1. 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:
pos9
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:
kamptjueen
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 ) plassfra 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.