Damit können Sie zwei Zeichenfolgen basierend auf unterschiedlichen Kollatierungsregeln vergleichen.
COMPARE( Zeichenfolgenausdruck-1, Zeichenfolgenausdruck-2 [, { Kollatierung-ID | Kollatierung-Name[(Kollatierungsanpassung-Zeichenfolge) ] } ] )
Zeichenfolgenausdruck-1 Der erste Zeichenfolgenausdruck
Zeichenfolgenausdruck-2 Der zweite Zeichenfolgenausdruck.
Der Zeichenfolgenausdruck kann nur Zeichen enthalten, die im Zeichensatz der Datenbank kodiert sind.
Kollatierung-ID Eine Variable oder Ganzzahlkonstante, die die zu verwendende Sortierreihenfolge angibt. Sie können eine Kollatierung-ID nur für integrierte Kollatierungen verwenden. Weitere Hinweise finden Sie unter SORTKEY-Funktion [Zeichenfolge].
Wenn Sie keinen Kollatierung-Namen bzw. keine Kollatierung-ID eingeben, wird als Standard "Default Unicode multilingual" verwendet.
Kollatierung-Name Eine Zeichenfolge oder eine Zeichenvariable, die den Namen der zu verwendenen Kollatierung angibt. Sie können auch char_collation
oder db_collation angeben (z.B. COMPARE( 'abc', 'ABC', 'char_collation' );
), um die von der Datenbank verwendete CHAR-Kollatierung zu benutzen. Gleichermaßen können Sie nchar_collation angeben, um
die von der Datenbank verwendete NCHAR-Kollatierung zu benutzen. Eine Liste der gültigen Kollatierungen finden Sie unter SORTKEY-Funktion [Zeichenfolge].
Kollatierungsanpassung-Zeichenfolge Optional können Sie Optionen für Kollatierungsanpassungen (Kollatierungsanpassung-Zeichenfolge) als zusätzliche Steuerung bei Zeichenvergleichen angeben. Diese Optionen werden in der Form von Schlüsselwort=Wert-Paaren,
die in Klammern gesetzt werden, hinter dem Kollatierung-Namen angegeben. Zum Beispiel: 'UCA(locale=es;case=LowerFirst;accent=respect)'
. Die Syntax zur Angabe dieser Optionen ist identisch mit der für die COLLATION-Klausel der CREATE DATABASE-Anweisung definierten
Syntax. Weitere Hinweise finden Sie unter Optionen für Kollatierungsanpassungen.
Alle Optionen der Kollatierungsanpassungen werden unterstützt, wenn die UCA-Kollatierung angegeben ist. Bei allen anderen Kollatierungen wird nur die Option für Groß-/Kleinschreibung unterstützt.
Ein INTEGER-Wert, basierend auf den von Ihnen gewählten Kollatierungsregeln:
Wert | Bedeutung |
---|---|
1 | Zeichenfolgenausdruck-1 ist größer als Zeichenfolgenausdruck-2 |
0 | Zeichenfolgenausdruck-1 ist gleich Zeichenfolgenausdruck-2 |
-1 | Zeichenfolgenausdruck-1 ist kleiner als Zeichenfolgenausdruck-2 |
Die COMPARE-Funktion vergleicht keine leeren Zeichenfolgen und Zeichenfolgen mit Leerzeichen, auch wenn bei der Datenbank das Auffüllen mit Leerzeichen aktiviert ist. Die COMPARE-Funktion benutzt die SORTKEY-Funktion zur Erstellung von Kollatierungsschlüsseln für den Vergleich. Daher erzielt der Vergleich einer leeren Zeichenfolge, einer Zeichenfolge mit einem Leerzeichen und einer Zeichenfolge mit zwei Leerzeichen nicht dasselbe Ergebnis.
Wenn Zeichenfolgenausdruck-1 oder Zeichenfolgenausdruck-2 NULL ist, ist das Ergebnis NULL.
SQL/2003 Erweiterung des Herstellers
Das folgende Beispiel führt drei Vergleiche mithilfe der COMPARE-Funktion durch:
SELECT COMPARE( 'abc','ABC','UCA(case=LowerFirst)' ), COMPARE( 'abc','ABC','UCA(case=Ignore)' ), COMPARE( 'abc','ABC','UCA(case=UpperFirst)' ); |
Die zurückgegebenen Werte sind -1, 0, 1, was das Ergebnis der einzelnen Vergleiche anzeigt. Der erste Vergleich ergibt -1, da Zeichenfolgenausdruck-2 ('ABC') kleiner ist als Zeichenfolgenausdruck-1 ('abc'). Dies liegt daran, dass die Berücksichtigung der Groß-/Kleinschreibung in der ersten COMPARE-Anweisung auf LowerFirst gesetzt ist.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |