SQL Server PATINDEX-functie

Sql Server Patindex Functie



Deze zelfstudie is bedoeld om u te helpen begrijpen hoe u de PATINDEX-functie in SQL Server gebruikt. Met deze functie kunt u de startpositie van een patroon in een gegeven invoerexpressie bepalen.

SQL Server Patindex() Functie

Het volgende codefragment definieert de syntaxis van de functie PATINDEX() in SQL Server:







PATINDEX ( '%patroon%' , uitdrukking )



De argumenten worden hieronder onderzocht:



  1. patroon – dit argument definieert de tekenuitdrukking die in de uitdrukking moet worden gezocht. Deze waarde ondersteunt jokertekens zoals % en _. De functie past de jokertekens op dezelfde manier toe op de LIKE-operator. U kunt maximaal 8000 tekens opgeven.
  2. uitdrukking – dit definieert de uitdrukking waar het patroon wordt gezocht. Dit kan een letterlijke waarde of een kolom zijn.

De functie retourneert dan een geheel getal dat de beginpositie van het eerste voorkomenpatroon in de uitdrukking aangeeft. Als het patroon niet in de uitdrukking wordt gevonden, retourneert de functie 0.





Als een van de vereiste argumenten NULL is, retourneert de functie automatisch NULL.

Voorbeeld gebruik

De volgende voorbeelden laten zien hoe u de functie patindex() gebruikt in SQL Server.



Voorbeeld 1 - Basisgebruik

Hieronder ziet u een demonstratie van het basisgebruik van de functie patindex().

selecteren patindex ( '%bits%' , 'https://geekbits.io' ) net zo pos;

Dit zou de startpositie van het gevonden patroon moeten retourneren als:

pos
13

Voorbeeld 2

In het onderstaande voorbeeld gebruiken we de functie patindex() met meerdere jokertekens.

selecteren patindex ( '%g__k%' , 'https://geekbits.io' ) net zo pos;

In dit geval moet de functie retourneren:

pos
9

Voorbeeld 3 – Functie Patindex() gebruiken met een complex patroon

We kunnen ook een complexe reguliere expressie doorgeven als het patroon in de patindex-functie, zoals weergegeven:

selecteren patindex ( '%[^0-9A-Za-z]%' , 'Welkom bij Linuxhint!!' ) net zo wedstrijd;

Resultaat:

wedstrijd
eenentwintig

Voorbeeld 4 – Gebruik van de Patindex-functie met kolom

Stel dat we een tabel hebben zoals hieronder afgebeeld:

We kunnen de functie patindex() gebruiken om een ​​overeenkomend patroon te zoeken in de kolom productnaam, zoals weergegeven in de onderstaande zoekopdracht:

selecteren productnaam, fabrikant, patindex ( '%2022%' , productnaam ) plaats
van producten

Dit zou de positie van het overeenkomende patroon moeten retourneren zoals weergegeven:

Conclusie

In deze zelfstudie hebben we de grondbeginselen behandeld van het werken met de functie PATINDEX() in SQL Server.