- Kategorien:
Zeichenfolgen- und Binärfunktionen (Verschlüsseln/Entschlüsseln)
TRY_BASE64_DECODE_STRING¶
Eine spezielle Version von BASE64_DECODE_STRING, die einen NULL-Wert zurückgibt, wenn bei der Decodierung ein Fehler auftritt.
BASE64_DECODE_STRING
und TRY_BASE64_DECODE_STRING
sind reziproke oder umgekehrte Funktionen von BASE64_ENCODE
.
Syntax¶
TRY_BASE64_DECODE_STRING(<input> [, <alphabet>])
Argumente¶
input
Die base64-codierte Zeichenfolge, die in eine normale Zeichenfolge decodiert 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¶
Eine Zeichenfolge.
Nutzungshinweise¶
Weitere Informationen zum base64-Format finden Sie unter base64.
Beispiele¶
Hier wird die Verwendung dieser Funktion gezeigt und demonstriert, dass TRY_BASE64_DECODE_STRING
die Umkehrung von BASE64_ENCODE
ist:
SELECT TRY_BASE64_DECODE_STRING(BASE64_ENCODE('HELLO')); +--------------------------------------------------+ | TRY_BASE64_DECODE_STRING(BASE64_ENCODE('HELLO')) | |--------------------------------------------------| | HELLO | +--------------------------------------------------+
Dies zeigt ein realistischeres Beispiel:
Erstellen Sie eine Tabelle und Daten:
CREATE TABLE base64 (v VARCHAR, base64_string VARCHAR, garbage VARCHAR); INSERT INTO base64 (v, base64_string, garbage) SELECT 'HELLO', BASE64_ENCODE('HELLO'), '127';Fragen Sie die Daten mit der Funktion
TRY_BASE64_DECODE_STRING
ab:SELECT v, base64_string, TRY_BASE64_DECODE_STRING(base64_string), TRY_BASE64_DECODE_STRING(garbage) FROM base64; +-------+---------------+-----------------------------------------+-----------------------------------+ | V | BASE64_STRING | TRY_BASE64_DECODE_STRING(BASE64_STRING) | TRY_BASE64_DECODE_STRING(GARBAGE) | |-------+---------------+-----------------------------------------+-----------------------------------| | HELLO | SEVMTE8= | HELLO | NULL | +-------+---------------+-----------------------------------------+-----------------------------------+