Partager via


BASE64_DECODE (Transact-SQL)

S’applique à :Azure SQL DatabaseSQL Analytics endpoint et Warehouse dans Microsoft FabricSQL database in Microsoft Fabric

BASE64_DECODE convertit une expression varchar encodée en base64 en expression varbinary correspondante.

Conventions de la syntaxe Transact-SQL

Syntaxe

BASE64_DECODE ( expression )

Arguments

expression

Expression de type varchar(n) ou varchar(max).

Types de retour

  • varbinary(8000) si l’entrée est varchar(n).
  • 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 du tableau RFC 4648 1 et peut inclure le remplissage, bien que le remplissage n’est 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 non contenus dans les alphabets standard ou sécurisés par URL spécifiés par RFC 4648, la fonction retourne l’erreur suivante :

    Msg 9803, Level 16, State 20, Line 15, Invalid data for type "Base64Decode"
    
  • Si les données ont des caractères valides, mais correctement mises en forme, la fonction retourne une 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 une 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.

0xA9

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.

0xCAFECAFE

C. chaîne BASE64_DECODE varchar url_safe base64

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

SELECT BASE64_DECODE('yv7K_g');

Voici le jeu de résultats.

0xCAFECAFE

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.

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