Catégories :

Fonctions de chaîne et fonctions binaires (Encodage/Décodage)

BASE64_DECODE_STRING

Décode une chaîne codée en Base64 en chaîne.

Voir aussi :

TRY_BASE64_DECODE_STRING

BASE64_DECODE_BINARY , BASE64_ENCODE

Syntaxe

BASE64_DECODE_STRING( <input> [ , <alphabet> ] )
Copy

Arguments

Obligatoire :

input

Une expression de chaîne codée en Base64.

Facultatif :

alphabet

Une chaîne composée de trois caractères ASCII maximum :

  • Les deux premiers caractères de la chaîne spécifient les deux derniers caractères (index 62 et 63) de l’alphabet utilisé pour coder l’entrée :

    • A à Z (index 0-25)

    • a à z (index 26-51)

    • 0 à 9 (index 52-61)

    • + et / (index 62, 63)

    Valeurs par défaut : + et /

  • Le troisième caractère de la chaîne spécifie le caractère utilisé pour le remplissage.

    Par défaut : =

Renvoie

Une chaîne.

Notes sur l’utilisation

  • Les caractères de la chaîne alphabet sont analysés en ce qui concerne leur position ; pour spécifier des caractères différents à la deuxième ou troisième position de la chaîne, vous devez spécifier explicitement tous les caractères précédents, même si vous souhaitez utiliser les valeurs par défaut.

    Par exemple :

    • +$ spécifie la valeur par défaut (+) pour l’index 62 et un caractère différent ($) pour l’index 63 ; aucun caractère n’est explicitement spécifié pour le remplissage, donc le caractère par défaut (=) est utilisé.

    • +/% spécifie les valeurs par défaut (+ et /) pour les index 62 et 63 et spécifie un caractère différent (%) pour le remplissage.

  • La chaîne alphabet utilisée pour décoder input doit correspondre à la chaîne utilisée à l’origine pour coder input.

Pour plus d’informations sur le format base64, voir base64.

Exemples

Voici un exemple simple d’utilisation de BASE64_DECODE_STRING :

SELECT BASE64_DECODE_STRING('U25vd2ZsYWtl');
+--------------------------------------+
| BASE64_DECODE_STRING('U25VD2ZSYWTL') |
|--------------------------------------|
| Snowflake                            |
+--------------------------------------+
Copy

Cela montre un autre exemple d’utilisation de BASE64_DECODE_STRING :

Créez une table et des données :

CREATE OR REPLACE TABLE base64_table (v VARCHAR, base64_string VARCHAR);
INSERT INTO base64_table (v) VALUES ('HELLO');
UPDATE base64_table SET base64_string = BASE64_ENCODE(v);
Copy

Exécuter maintenant une requête en utilisant BASE64_DECODE_STRING :

SELECT v, base64_string, BASE64_DECODE_STRING(base64_string) 
    FROM base64_table;
+-------+---------------+-------------------------------------+
| V     | BASE64_STRING | BASE64_DECODE_STRING(BASE64_STRING) |
|-------+---------------+-------------------------------------|
| HELLO | SEVMTE8=      | HELLO                               |
+-------+---------------+-------------------------------------+
Copy