Freigeben über


BASE64_DECODE (Transact-SQL)

Gilt für:Azure SQL DatabaseSQL Analytics Endpunkt und Warehouse in Microsoft Fabric SQL databasein Microsoft Fabric

BASE64_DECODE wandelt einen base64-codierten Varchar-Ausdruck in den entsprechenden varbinären Ausdruck um.

Transact-SQL-Syntaxkonventionen

Syntax

BASE64_DECODE ( expression )

Argumente

expression

Ein Ausdruck vom Typ varchar(n) oder varchar(max).

Rückgabetypen

  • varbinär(8000), wenn die Eingabe varchar(n) ist.
  • varbinary(max), wenn die Eingabe varchar(max) ist.
  • Wenn der Eingabeausdruck lautet NULL, lautet NULLdie Ausgabe .

Bemerkungen

Das Alphabet der codierten Zeichenfolge muss in RFC 4648 Tabelle 1 angegeben sein und kann einen Abstand enthalten, obwohl Abstand nicht erforderlich ist. 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 standard- oder URL-sicheren Alphabeten enthalten sind, die durch RFC 4648 angegeben sind, gibt die Funktion den folgenden Fehler zurück:

    Msg 9803, Level 16, State 20, Line 15, Invalid data for type "Base64Decode"
    
  • Wenn die Daten gültige Zeichen enthalten, aber falsch formatiert sind, gibt die Funktion den Fehler zurück Msg 9803, State 21.

  • Wenn die Eingabe mehr als zwei Abstandszeichen oder Abstandszeichen enthält, gefolgt von einer zusätzlichen gültigen Eingabe, gibt die Funktion den Fehler zurück Msg 9803, State 23.

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

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

C. BASE64_DECODE varchar für url_safe-Base64-Zeichenfolge

Im Gegensatz zu Beispiel B wurde diese Base64-Zeichenfolge mit RFC 4648 Table 2 (url_safe) codiert, kann jedoch auf die gleiche Weise wie Beispiel B decodiert werden.

SELECT BASE64_DECODE('yv7K_g');

Hier sehen Sie das Ergebnis.

0xCAFECAFE

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".