- Kategorien:
TO_BINARY¶
Konvertiert den Eingabeausdruck in einen Binärwert. Bei Eingabe von NULL lautet die Ausgabe NULL.
Siehe auch:
Syntax¶
TO_BINARY( <string_expr> [, '<format>'] )
TO_BINARY( <variant_expr> )
Rückgabewerte¶
Der Rückgabetyp ist BINARY.
Argumente¶
Benötigt:
string_expr
Ein Zeichenfolgenausdruck.
Optional:
format
Das Binärformat für die Konvertierung: HEX, BASE64 oder UTF-8 (siehe Binary Input and Output). Der Standardwert ist der Wert des Sitzungsparameters BINARY_INPUT_FORMAT. Wenn dieser Parameter nicht festgelegt ist, ist der Standardwert HEX.
Rückgabewerte¶
Gibt einen Wert vom Typ BINARY zurück.
Beispiele¶
Diese Beispiele zeigen die Ausgabe, wenn TO_BINARY
aufgerufen wird.
In diesem Beispiel wird gezeigt, wie Sie einen VARCHAR
-Wert in einen BINARY
-Wert konvertieren und dann in seine ursprüngliche Form zurück konvertieren (VARCHAR
).
Erstellen Sie eine Tabelle, und füllen Sie diese:
CREATE TABLE binary_test (v VARCHAR, b BINARY); INSERT INTO binary_test(v) VALUES ('SNOW');Wandeln Sie
VARCHAR
inBINARY
um:UPDATE binary_test SET b = TO_BINARY(HEX_ENCODE(v), 'HEX');Führen Sie eine Abfrage aus, und zeigen Sie die Ausgabe an:
SELECT v, HEX_DECODE_STRING(TO_VARCHAR(b, 'HEX')) FROM binary_test; +------+-----------------------------------------+ | V | HEX_DECODE_STRING(TO_VARCHAR(B, 'HEX')) | |------+-----------------------------------------| | SNOW | SNOW | +------+-----------------------------------------+
In diesem Beispiel wird gezeigt, wie eine Zeichenfolge aus UTF-8-Zeichen in BINARY
umgewandelt wird. Beachten Sie, dass SNOWSQL standardmäßig BINARY
-Werte als eine Zeichenfolge aus Hexadezimalziffern enthält, nicht im Format UTF-8 und nicht im internen Format BINARY
.
SELECT TO_BINARY('SNOW', 'utf-8'); +----------------------------+ | TO_BINARY('SNOW', 'UTF-8') | |----------------------------| | 534E4F57 | +----------------------------+
Dieses Beispiel entspricht dem vorherigen Beispiel, jedoch wird in diesem Beispiel die Ausgabe explizit in Hexadezimalziffern konvertiert, sodass die Ausgabe offensichtlich eine Zeichenfolge ist, die Hexadezimalziffern enthält:
SELECT TO_VARCHAR(TO_BINARY('SNOW', 'utf-8'), 'HEX'); +-----------------------------------------------+ | TO_VARCHAR(TO_BINARY('SNOW', 'UTF-8'), 'HEX') | |-----------------------------------------------| | 534E4F57 | +-----------------------------------------------+