BASE64_DECODE (Transact-SQL)
Gilt für: Azure SQL-Datenbank SQL-Analyseendpunkt und Warehouse in Microsoft Fabric
BASE64_DECODE konvertiert einen base64-codierten varchar-Datentyp in den entsprechenden varbinary-Datentyp.
Transact-SQL-Syntaxkonventionen
Syntax
BASE64_DECODE(expression)
Argumente
expression
Ein Ausdruck vom Typ varchar (n | max).
Rückgabetypen
- Varbinary(8000).
- Varbinary(max), wenn die Eingabe dem Datentyp varchar(max) entspricht.
- Wenn der Eingabeausdruck NULL ist, ist die Ausgabe NULL.
Bemerkungen
Das Alphabet der codierten Zeichenfolge muss dem Alphabet von RFC 4648-Tabelle 1 entsprechen und kann eine Auffüllung enthalten. Diese ist jedoch nicht erforderlich. Das in RFC 4648-Tabelle 2 angegebene URL-sichere Alphabet wird ebenfalls akzeptiert. Diese Funktion ignoriert Leerraumzeichen: \n
, \r
, \t
und
.
- Wenn die Eingabe Zeichen enthält, die nicht in den von RFC 4648 angegebenen Standard- oder URL-sicheren Alphabeten enthalten sind, gibt die Funktion den Fehler „Msg 9803, Ebene 16, Status 20, Zeile 15, Ungültige Daten für den Base64Decode-Typ“ zurück.
- Wenn die Daten gültige Zeichen enthalten, aber falsch formatiert sind, gibt die Funktion den Fehler „Msg 9803, Status 21“ zurück.
- Wenn die Eingabe mehr als zwei Auffüllzeichen oder Auffüllzeichen gefolgt von einer zusätzlichen gültigen Eingabe enthält, gibt die Funktion den Fehler „Msg 9803, Status 23“ zurück.
Beispiele
A. Standard-BASE64_DECODE
Im folgenden Beispiel wird die Base64-codierte Zeichenfolge wieder in varbinary decodiert.
SELECT BASE64_DECODE ('qQ==');
Hier sehen Sie das Ergebnis.
-------------
0xA9
(1 row affected)
B. BASE64_DECODE für eine Base64-Standardzeichenfolge
Im folgenden Beispiel wird die Zeichenfolge Base64-decodiert. Beachten Sie, dass die Zeichenfolge die URL-unsicheren Zeichen =
und /
enthält.
SELECT BASE64_DECODE('yv7K/g==')
Hier sehen Sie das Ergebnis.
------------
0xCAFECAFE
(1 row affected)
C. BASE64_DECODE varchar für url_safe-Base64-Zeichenfolge
Im Gegensatz zu Beispiel B wurde diese Beispiel-Base64-Zeichenfolge mit RFC 4648-Tabelle 2 (url_safe) codiert, kann aber auf dieselbe Weise wie Beispiel B decodiert werden.
SELECT BASE64_DECODE('yv7K_g')
Hier sehen Sie das Ergebnis.
------------
0xCAFECAFE
(1 row affected)
D: BASE64_DECODE varchar enthält Zeichen, die nicht im Base64-Alphabet enthalten sind.
Dieses Beispiel enthält Zeichen, die keine gültigen Base64-Zeichen sind.
SELECT BASE64_DECODE('qQ!!')
Hier sehen Sie das Ergebnis.
Msg 9803, Level 16, State 20, Line 223
Invalid data for type "Base64Decode".