SQL Server PATINDEX-Funktion

Sql Server Patindex Funktion



Dieses Lernprogramm soll Ihnen dabei helfen, die Verwendung der PATINDEX-Funktion in SQL Server zu verstehen. Mit dieser Funktion können Sie die Startposition eines Musters in einem bestimmten Eingabeausdruck bestimmen.

SQL Server-Patindex()-Funktion

Der folgende Codeausschnitt definiert die Syntax der PATINDEX()-Funktion in SQL Server:







PATINDEX ( '%Muster%' , Ausdruck )



Die Argumente werden im Folgenden untersucht:



  1. Muster – Dieses Argument definiert den im Ausdruck zu suchenden Zeichenausdruck. Dieser Wert unterstützt Platzhalterzeichen wie % und _. Die Funktion wendet die Platzhalterzeichen ähnlich wie beim LIKE-Operator an. Sie können maximal 8000 Zeichen angeben.
  2. Ausdruck – dies definiert den Ausdruck, wo das Muster gesucht wird. Dies kann ein Literalwert oder eine Spalte sein.

Die Funktion gibt dann einen ganzzahligen Wert zurück, der die Startposition des ersten Vorkommensmusters im Ausdruck angibt. Wenn das Muster nicht im Ausdruck gefunden wird, gibt die Funktion 0 zurück.





Wenn eines der erforderlichen Argumente NULL ist, gibt die Funktion automatisch NULL zurück.

Beispielnutzung

Die folgenden Beispiele veranschaulichen die Verwendung der patindex()-Funktion in SQL Server.



Beispiel 1 – Grundlegende Verwendung

Unten finden Sie eine Demonstration der grundlegenden Verwendung der Funktion patindex().

auswählen Patindex ( '%bits%' , 'https://geekbits.io' ) wie Position;

Dies sollte die Startposition des gefundenen Musters wie folgt zurückgeben:

Pos
13

Beispiel 2

Im folgenden Beispiel verwenden wir die Funktion patindex() mit mehreren Platzhalterzeichen.

auswählen Patindex ( '%g__k%' , 'https://geekbits.io' ) wie Position;

In diesem Fall sollte die Funktion Folgendes zurückgeben:

Pos
9

Beispiel 3 – Verwendung der Funktion Patindex() mit komplexem Muster

Wir können auch einen komplexen regulären Ausdruck als Muster in der patindex-Funktion übergeben, wie gezeigt:

auswählen Patindex ( '%[^0-9A-Za-z]%' , 'Willkommen bei Linuxhint!' ) wie passen;

Ergebnis:

passen
einundzwanzig

Beispiel 4 – Verwendung der Patindex-Funktion mit Column

Angenommen, wir haben eine Tabelle wie unten dargestellt:

Wir können die Funktion patindex() verwenden, um nach übereinstimmenden Mustern in der Spalte product_name zu suchen, wie in der folgenden Abfrage gezeigt:

auswählen Produktname, Hersteller, Patindex ( '%2022%' , Produktname ) Platz
aus Produkten

Dies sollte die Position des übereinstimmenden Musters wie gezeigt zurückgeben:

Fazit

In diesem Lernprogramm haben wir die Grundlagen der Arbeit mit der PATINDEX()-Funktion in SQL Server behandelt.