Partager via


BASE64_DECODE (Transact-SQL)

S’applique à : point de terminaison d’analytique SQL Azure SQL Database et Warehouse dans Microsoft Fabric

BASE64_DECODE convertit un varchar encodé en base64 en varbinary correspondant.

Conventions de la syntaxe Transact-SQL

Syntaxe

BASE64_DECODE(expression)

Arguments

expression

Expression de type varchar (n | max).

Types de retour

  • Varbinary(8000).
  • Varbinary(max) si l’entrée est varchar(max).
  • Si l’expression d’entrée est null, la sortie est null.

Notes

L’alphabet de la chaîne encodée doit être celui de RFC 4648 Table 1 et peut inclure un remplissage, bien que le remplissage ne soit pas obligatoire. L’alphabet sécurisé d’URL spécifié dans RFC 4648 Table 2 est également accepté. Cette fonction ignore les caractères d’espace blanc : \n, \r, \t et .

  • Lorsque l’entrée contient des caractères qui ne sont pas contenus dans les alphabets standard ou sécurisés pour l’URL spécifiés par RFC 4648, la fonction retourne l’erreur « Msg 9803, Level 16, State 20, Line 15, Invalid data for type "Base64Decode" ».
  • Si les données ont des caractères valides, mais que leur format est incorrect, la fonction retourne l’erreur Msg 9803, State 21.
  • Si l’entrée contient plus de deux caractères de remplissage, ou des caractères de remplissage suivis d’une entrée supplémentaire valide, la fonction retourne l’erreur Msg 9803, State 23.

Exemples

R. BASE64_DECODE standard

Dans l’exemple suivant, la chaîne encodée en base64 est décodée en varbinary.

SELECT BASE64_DECODE ('qQ==');

Voici le jeu de résultats obtenu.

-------------
0xA9

(1 row affected)

B. BASE64_DECODE une chaîne base64 standard

Dans l’exemple suivant, la chaîne est décodée en base64. Notez que la chaîne contient les caractères d’URL non sécurisés = et /.

SELECT BASE64_DECODE('yv7K/g==')

Voici le jeu de résultats obtenu.

------------  
0xCAFECAFE

(1 row affected)

C. BASE64_DECODE varchar url_safe base64 string

Contrairement à l’exemple B, cet exemple de chaîne base64 a été encodé à l’aide de RFC 4648 Table 2 (url_safe), mais peut être décodé de la même façon que l’exemple B.

SELECT BASE64_DECODE('yv7K_g')

Voici le jeu de résultats obtenu.

------------  
0xCAFECAFE
(1 row affected)

D. BASE64_DECODE varchar contient des caractères qui ne sont pas dans l’alphabet base64

Cet exemple contient des caractères qui ne sont pas des caractères de base64 valides.

SELECT BASE64_DECODE('qQ!!')

Voici le jeu de résultats obtenu.

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

Étapes suivantes