Kategorien:

Zeichenfolgen- und Binärfunktionen (Verschlüsseln/Entschlüsseln)

TRY_HEX_DECODE_BINARY

Eine spezielle Version von HEX_DECODE_BINARY, die einen NULL-Wert zurückgibt, wenn während der Dekodierung ein Fehler auftritt.

Syntax

TRY_HEX_DECODE_BINARY(<input>)
Copy

Argumente

input

Ein Zeichenfolgenausdruck, der nur hexadezimale Ziffern enthält. In der Regel wird diese Eingabezeichenfolge durch Aufrufen der Funktion HEX_ENCODE generiert.

Rückgabewerte

Ein BINARY-Wert, der beispielsweise in eine Spalte des Typs BINARY eingefügt werden kann.

Beispiele

Dies zeigt, wie sich die Funktion TRY_HEX_DECODE_BINARY verwenden lässt (beachten Sie, dass die Funktion in der INSERT-Anweisung genutzt wird, um in ein BINARY-Feld zu decodieren. Die Funktion wird nicht in der SELECT-Anweisung verwendet):

Erstellen Sie eine Tabelle und Daten:

CREATE TABLE hex (v VARCHAR, b BINARY);
INSERT INTO hex (v, b)
   SELECT 'ABab', 
     -- Convert string -> hex-encoded string -> binary.
     TRY_HEX_DECODE_BINARY(HEX_ENCODE('ABab'));
Copy

Führen Sie nun eine Abfrage aus, um zu zeigen, dass wir die Daten intakt abrufen können:

SELECT v, b, 
    -- Convert binary -> hex-encoded-string -> string.
    TRY_HEX_DECODE_STRING(TO_VARCHAR(b)) 
  FROM hex;
Copy

Ausgabe:

+------+----------+--------------------------------------+
| V    | B        | TRY_HEX_DECODE_STRING(TO_VARCHAR(B)) |
|------+----------+--------------------------------------|
| ABab | 41426162 | ABab                                 |
+------+----------+--------------------------------------+
Copy