- Kategorien:
Zeichenfolgen- und Binärfunktionen (Verschlüsseln/Entschlüsseln)
TRY_BASE64_DECODE_BINARY¶
Eine spezielle Version von BASE64_DECODE_BINARY, die einen NULL-Wert zurückgibt, wenn während der Dekodierung ein Fehler auftritt.
Syntax¶
TRY_BASE64_DECODE_BINARY(<input> [, <alphabet>])
Argumente¶
input
Die base64-basierte Zeichenfolge, die in den Datentyp BINARY konvertiert werden soll.
alphabet
Eine Zeichenfolge, die aus bis zu drei ASCII-Zeichen besteht:
Die ersten beiden Zeichen in der Zeichenfolge geben die letzten beiden Zeichen (Indizes 62 und 63) im Alphabet an, die zur Codierung der Eingabe verwendet werden:
A
bisZ
(Indizes 0–25)a
bisz
(Indizes 26–51)0
bis9
(Indizes 52–61)+
und/
(Indizes 62, 63)
Standardwerte:
+
und/
Das dritte Zeichen in der Zeichenfolge gibt das Zeichen an, das zum Auffüllen verwendet wird.
Standard:
=
Rückgabewerte¶
Dies gibt einen BINARY
-Wert zurück. Der Wert kann beispielsweise in eine Spalte vom Typ BINARY
eingefügt werden.
Nutzungshinweise¶
Weitere Informationen zum base64-Format finden Sie unter base64.
Beispiele¶
Hier wird die Verwendung dieser Funktion TRY_BASE64_DECODE_BINARY
gezeigt. Die Funktion wird in der INSERT
-Anweisung verwendet, um eine base64-codierte Zeichenfolge in ein BINARY-Feld zu decodieren. Die Funktion wird in der SELECT
-Anweisung nicht verwendet.
Erstellen Sie eine Tabelle, und fügen Sie Daten ein:
CREATE TABLE base64 (v VARCHAR, base64_encoded_varchar VARCHAR, b BINARY); INSERT INTO base64 (v, base64_encoded_varchar, b) SELECT 'HELP', BASE64_ENCODE('HELP'), TRY_BASE64_DECODE_BINARY(BASE64_ENCODE('HELP'));Führen Sie nun eine Abfrage aus, um zu zeigen, dass wir die Daten unverändert abrufen können:
SELECT v, base64_encoded_varchar, -- Convert binary -> base64-encoded-string TO_VARCHAR(b, 'BASE64'), -- Convert binary back to original value TO_VARCHAR(b, 'UTF-8') FROM base64; +------+------------------------+-------------------------+------------------------+ | V | BASE64_ENCODED_VARCHAR | TO_VARCHAR(B, 'BASE64') | TO_VARCHAR(B, 'UTF-8') | |------+------------------------+-------------------------+------------------------| | HELP | SEVMUA== | SEVMUA== | HELP | +------+------------------------+-------------------------+------------------------+