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-Sprachelemente » Suchbedingungen » Die Suchbedingungen LIKE, REGEXP und SIMILAR TO

 

SIMILAR TO-Suchbedingung

Suchen die Übereinstimmung eines Musters mit einer Zeichenfolge.

Syntax
Ausdruck [NOT] SIMILAR TO Muster [ ESCAPE Escape-Ausdruck ]
Parameter

Ausdruck   Der zu suchende Ausdruck.

Muster   Der reguläre Ausdruck, nach dem in Ausdruck gesucht werden soll.

Weitere Hinweise zur unterstützten Syntax für reguläre Ausdrücke finden Sie unter Überblick über reguläre Ausdrücke.

Escape-Ausdruck   Das für die Übereinstimmung zu verwendende Escapezeichen. Das Standard-Escapezeichen ist das Nullzeichen, das in einem Zeichenfolgenliteral als '\x00' angegeben werden kann.

Syntax des regulären Ausdrucks Bedeutung
\x Findet alles, was gleich x ist, wobei als Escapezeichen das Backslash-Zeichen (\) angenommen wird. Beispiel: \[ steht für '['.
x Jedes Zeichen (außer einem Metazeichen) findet sich selbst. Beispiel: A findet 'A'.
Bemerkungen

Um eine Übereinstimmung von einer Teilzeichenfolge mit der Zeichenfolge zu finden, verwenden Sie das Wildcard-Prozentzeichen (%Ausdruck%). Beispiel: SELECT ... WHERE Description SIMILAR TO 'car' findet nur car, nicht aber sportscar. Hingegen findet SELECT ... WHERE Description SIMILAR TO '%car' car, sportscar, und jede Zeichenfolge, die mit car endet.

Wenn Übereinstimmungen mit einer Teilzeichenklasse gesucht werden, müssen Sie die äußeren eckigen Klammern und die eckigen Klammern für die Teilzeichenklasse eingeben. Beispiel: Ausdruck SIMILAR TO '[[:digit:]]'). Weitere Hinweise zur Suche nach Übereinstimmungen in Teilzeichenklassen finden Sie unter Reguläre Ausdrücke: Spezielle Teilzeichenklassen.

Vergleiche werden Zeichen-für-Zeichen durchgeführt, im Unterschied zum Gleichheitsoperator (=) und zu anderen Operatoren, bei denen der Vergleich Zeichenfolge-für-Zeichenfolge erfolgt. Beispiel: Wenn ein Vergleich in einer UCA-Kollatierung erfolgt (CHAR oder NCHAR mit Kollatierungseinstellung UCA) ist 'Æ'='AE' TRUE, aber 'Æ' SIMILAR TO 'AE' ist FALSE.

Bei einem Zeichen-für-Zeichen-Vergleich muss jedes einzelne Zeichen im gesuchten Ausdruck mit einem einzelnen Zeichen oder einem Wildcard-Zeichen im SIMILAR TO Muster übereinstimmen.

Datenbankkollatierung und Suche nach Übereinstimmungen

SIMILAR TO benutzt die Kollatierung, um die Gleichwertigkeit von Zeichen zu ermitteln und Zeichenklassenbereiche auszuwerten. Beispiel: Wenn die Datenbank die Groß-, Klein- und Akzentschreibung nicht berücksichtigt, wird diese auch bei Suchvorgängen nicht berücksichtigt. Bereiche werden auch anhand der Sortierreihenfolge der Kollatierung ausgewertet.

Einen Vergleich der Auswertung von Suchmustern und Bereichen durch LIKE, SIMILAR TO und REGEXP finden Sie unter Die Suchbedingungen LIKE, REGEXP und SIMILAR TO.

Unterstützung nationaler Zeichen (National Characters, NCHAR)

SIMILAR TO-Suchbedingungen können verwendet werden, um CHAR- und NCHAR-Zeichenfolgen zu vergleichen. In diesem Fall wird die Zeichensatzkonvertierung so durchgeführt, dass der Vergleich mit einem gemeinsamen Datentyp erfolgt. Danach wird ein Zeichen-für-Zeichen-Vergleich durchgeführt. Weitere Hinweise finden Sie unter Vergleiche zwischen CHAR und NCHAR.

Sie können Ausdruck oder Muster als NCHAR-Zeichenfolgenliteral angeben, indem Sie den in Anführungszeichen gesetzten Wert mit dem Präfix N versehen (zum Beispiel Ausdruck SIMILAR TO N'Muster'). Sie können auch die CAST-Funktion verwenden, um das Muster auf CHAR oder NCHAR umzuwandeln (z.B. Ausdruck SIMILAR TO CAST(Muster AS Datentyp).

Weitere Hinweise finden Sie unter Zeichenfolgenliterale und CAST-Funktion [Datentypkonvertierung].

Siehe auch