Partager via


BASE64_DECODE (Transact-SQL)

S’applique à : Point de terminaison d’analyse SQL Server 2025 (17.x) Azure SQL DatabaseAzure SQL Managed InstanceSQL dans Microsoft Fabric et Warehouse dans labase de données Microsoft Fabric SQL dans 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 sont mal 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 valide supplémentaire, 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, cet exemple utilise RFC 4648 Table 2 (url_safe) pour encoder la chaîne Base64. Toutefois, vous pouvez le décoder 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 non dans l’alphabet Base64

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

SELECT BASE64_DECODE('qQ!!');

Voici le jeu de résultats.

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