Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Funktionen » SQL-Funktionen (P-Z)

 

REGEXP_SUBSTR-Funktion [Zeichenfolge]

Extrahiert Teilzeichenfolgen aus Zeichenfolgen mithilfe von regulären Ausdrücken.

Syntax
REGEXP_SUBSTR( Ausdruck, 
Regulärer_Ausdruck 
[, Start-Offset [ , Vorkommen [, Escape-Ausdruck ] ] ] )
Parameter
  • Ausdruck   Die zu durchsuchende Zeichenfolge.

  • Regulärer_Ausdruck   Das Suchmuster. Weitere Hinweise zur Syntax regulärer Ausdrücke finden Sie unter Überblick über reguläre Ausdrücke.

  • Start-Offset   Ausgangspunkt in Ausdruck, an dem begonnen werden soll. Start-Offset wird als positive Ganzzahl ausgedrückt und stellt die Anzahl der Zeichen dar, die gezählt werden müssen, wenn auf der linken Seite der Zeichenfolge begonnen wird. Standardwert ist 1 (Beginn der Zeichenfolge).

  • Vorkommen   Bei mehreren Fundstellen in Ausdruck geben Sie mit einer Ganzzahl an, welches Vorkommen ermittelt werden soll. Beispiel: Wenn dieser Parameter 3 lautet, wird das dritte Vorkommen gefunden. Standardwert ist "1".

  • Escape-Ausdruck   Das Escapezeichen, das für den regulären Ausdruck verwendet werden soll. Das Standardzeichen ist der Backslash (\).

Rückgabe

LONG VARCHAR

Bemerkungen

REGEXP_SUBSTR gibt NULL zurück, wenn Regulärer_Ausdruck nicht gefunden wird.

Ähnlich wie bei der Suchbedingung REGEXP benutzt die REGEXP_SUBSTR-Funktion Codepunkte für die Übereinstimmungs- und Bereichsüberprüfung. Dies bedeutet, dass die Einstellung der Datenbank für die Berücksichtigung von Groß- und Kleinschreibung die Ergebnisse nicht beeinflusst. Weitere Hinweise zur Suche nach Übereinstimmungen mit REGEXP_SUBSTR und die Auswertung von Gruppen finden Sie unter Unterschiede im Zeichenvergleich von LIKE, REGEXP und SIMILAR TO.

Wenn Übereinstimmungen mit einer Zeichenklasse gesucht werden, die nur eine Teilzeichenklasse enthält, verwenden Sie äußere eckige Klammern und eckige Klammern für die Teilzeichenklasse (Beispiel: REGEXP_SUBSTR (Ausdruck, '[[:digit:]]')). Weitere Hinweise zur Suche nach Übereinstimmungen in Teilzeichenklassen finden Sie unter Reguläre Ausdrücke: Spezielle Teilzeichenklassen.

Siehe auch
Standards und Kompatibilität
  • SQL/2003   Erweiterung des Herstellers

Beispiel

Im folgenden Beispiel werden Werte in der Spalte Employees.Street in Straßennummer und Straßennamen aufgeteilt:

SELECT REGEXP_SUBSTR( Street, '^\S+' ) as street_num, 
 REGEXP_SUBSTR( Street, '(?<=^\S+\s+).*$' ) AS street_name 
    FROM Employees;
street_num street_name
9 East Washington Street
7 Pleasant Street
539 Pond Street
1244 Great Plain Avenue
... ...

Um zu ermitteln, ob die IP-Adresse der aktuellen Verbindung in einem bestimmten Bereich von IP-Adressen liegt (in diesem Fall: 10.25.101.xxx oder 10.25.102.xxx), können Sie folgende Anweisung ausführen:

IF REGEXP_SUBSTR( CONNECTION_PROPERTY( 'NodeAddress' ), '\\d+\\.\\d+\\.\\d+' )
   IN ( '10.25.101' , '10.25.102' ) THEN 
      MESSAGE 'In range' TO CLIENT;
ELSE 
      MESSAGE 'Out of range' TO CLIENT;
END IF;