Kategorien:

Konvertierungsfunktionen

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:

Zeichenfolgenausdruck

Ein Zeichenfolgenausdruck.

Optional:

Format

Das Binärformat für die Konvertierung: HEX, BASE64 oder UTF-8 (siehe Eingabe und Ausgabe von Binärdaten). 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 in BINARY 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, mit der Ausnahme, dass wir die Ausgabe explizit in hexadezimale Ziffern konvertieren, sodass die Ausgabe offensichtlich eine Zeichenfolge ist, die hexadezimale Ziffern enthält:

SELECT TO_VARCHAR(TO_BINARY('SNOW', 'utf-8'), 'HEX');
+-----------------------------------------------+
| TO_VARCHAR(TO_BINARY('SNOW', 'UTF-8'), 'HEX') |
|-----------------------------------------------|
| 534E4F57                                      |
+-----------------------------------------------+