- Kategorien:
REGEXP_LIKE¶
Führt einen Vergleich aus, um festzustellen, ob eine Zeichenfolge mit einem angegebenen Muster übereinstimmt. Beide Eingaben müssen Textausdrücke sein.
REGEXP_LIKE ähnelt der Funktion [ NOT ] LIKE, bietet jedoch erweiterte reguläre POSIX-Ausdrücke anstelle von SQL LIKE-Mustersyntax. Unterstützt komplexere Abgleichsbedingungen als LIKE.
Tipp
Sie können den Suchoptimierungsdienst verwenden, um die Leistung von Abfragen zu verbessern, die diese Funktion aufrufen. Weitere Details dazu finden Sie unter Suchoptimierungsdienst.
- Aliasse:
[ NOT ] RLIKE (1. Syntax)
Siehe auch: Zeichenfolgenfunktionen (reguläre Ausdrücke)
Syntax¶
REGEXP_LIKE( <subject> , <pattern> [ , <parameters> ] )
Argumente¶
Benötigt:
subject
Abzugleichendes Subjekt.
pattern
Abzugleichendes Muster.
Optional:
parameters
Zeichenfolge aus einem oder mehreren Zeichen, in der die Parameter angegeben sind, die zur Suche nach Übereinstimmungen verwendet werden. Unterstützte Werte:
c
,i
,m
,e
,s
Weitere Details dazu finden Sie unter Angeben der Parameter für reguläre Ausdrücke.
Standard:
c
Rückgabewerte¶
Gibt einen BOOLEAN-Wert oder NULL zurück. Der Wert ist TRUE, wenn es eine Übereinstimmung gibt. Andernfalls wird FALSE zurückgegeben. Gibt NULL zurück, wenn ein Argument NULL ist.
Nutzungshinweise¶
Die Funktion verankert implizit ein Muster an beiden Enden (d. h.
''
wird automatisch zu'^$'
und'ABC'
automatisch zu'^ABC$'
). Um beispielsweise eine beliebige Zeichenfolge, die mit ABC beginnt, abzugleichen, wäre das Muster'ABC.*'
erforderlich.Das Backslash-Zeichen (
\
) ist das Escapezeichen. Weitere Informationen dazu finden Sie unter Angeben von regulären Ausdrücken in Zeichenfolgenkonstante in einfachen Anführungszeichen.Weitere Nutzungshinweise zur Verwendung der Funktionen für reguläre Ausdrücke finden Sie unter Allgemeine Nutzungshinweise.
Sortierungsdetails¶
Arguments with collation specifications are currently not supported.
Beispiele¶
Erstellen Sie eine Tabelle mit den Namen der Städte:
CREATE OR REPLACE TABLE cities(city varchar(20)); INSERT INTO cities VALUES ('Sacramento'), ('San Francisco'), ('San Jose'), (null);
Führen Sie eine Abfrage unter Berücksichtigung der Groß-/Kleinschreibung mit einem Platzhalter aus:
SELECT * FROM cities WHERE REGEXP_LIKE(city, 'san.*');+------+ | CITY | |------| +------+
Führen Sie eine Abfrage ohne Berücksichtigung der Groß-/Kleinschreibung mit einem Platzhalter aus:
SELECT * FROM cities WHERE REGEXP_LIKE(city, 'san.*', 'i');+---------------+ | CITY | |---------------| | San Francisco | | San Jose | +---------------+
Weitere Beispiele für reguläre Ausdrücke finden Sie unter [ NOT ] REGEXP.
Um nach einem Platzhalterzeichen zu suchen, müssen Sie das Platzhalterzeichen in Escapezeichen einschließen. Weitere Informationen zu Platzhalterzeichen finden Sie unter Angeben von regulären Ausdrücken in Zeichenfolgenkonstante in einfachen Anführungszeichen.