Die SQL-Funktion WEIGHT_STRING() gibt eine binäre Zeichenfolge zurück, die den Sortier- und Vergleichswert von "Zeichenkette" darstellt.
Eine Zeichenfolge mit einem niedrigeren Ergebnis bedeutet, dass die Zeichenfolge bei Sortierung vor einer Zeichenfolge mit einem höheren Ergebnis angezeigt wird.
Wenn "Zeichenkette" eine nicht-binäre Zeichenfolge ist (CHAR, VARCHAR oder TEXT), gibt WEIGHT_STRING() die Sortierungsgewichtung von "Zeichenkette" zurück.
Wenn "Zeichenkette" ein binärer String ist (BINARY, VARBINARY oder BLOB), ist der Rückgabewert gleich dem Eingabewert, da die Gewichtung gleich dem Bytewert ist.
Die optionale "Format"-Klausel ermöglicht das Umwandeln von "Zeichenkette" in eine binäre oder nicht-binäre Zeichenfolge. Dabei kann die Länge bestimmt werden:
AS BINARY(Länge) misst die Länge in Bytes statt Zeichen und füllt rechts mit 0x00 Bytes auf die gewünschte Länge auf.
AS CHAR(Länge) misst die Länge in Zeichen und füllt rechts mit Leerzeichen auf die gewünschte Länge auf.
Die Länge für "Format" muss mindestens 1 sein. Wenn die Angabe kleiner als die Länge von "Zeichenkette" ist, wird die "Zeichenkette" abgeschnitten.
Die optionale "Level"-Klausel gibt an, dass der Rückgabewert Gewichtungen für bestimmte Sortierungsebenen enthalten soll.
Der Ebenenbezeichner kann entweder eine einzelne ganze Zahl, eine durch Kommas getrennte Liste von ganzen Zahlen oder eine Reihe von ganzen Zahlen sein, die durch einen Bindestrich getrennt sind. Leerzeichen werden dabei ignoriert. Die Zahlen können je nach Sortierung zwischen 1 und maximal 6 liegen und müssen in aufsteigender Reihenfolge aufgelistet werden.
Wenn die "Level"-Klausel nicht angegeben ist, wird ein Standardwert von 1 bis zum Maximum für die Sortierung angenommen.
Wenn "Level" ohne Verwendung eines Bereichs angegeben wird, ist ein optionaler Modifikator "Sortierung" zulässig:
ASC: Die Standardeinstellung, sie gibt die Gewichtungen ohne Änderungen zurück.
DESC: Gibt eine bitweise invertierte Gewichtungen zurück.
REVERSE: Gibt eine Gewichtungen in umgekehrter Reihenfolge zurück.
Wenn der Wert von "Zeichenkette" NULL ist, gibt die WEIGHT_STRING()-Funktion NULL zurück. |