Freigeben über


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 ist das Resultset.

-------------
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 ist das Resultset.

------------  
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 ist das Resultset.

------------  
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 ist das Resultset.

Msg 9803, Level 16, State 20, Line 223
Invalid data for type "Base64Decode".

Nächste Schritte