- Catégories :
 Fonctions de chaîne et fonctions binaires (Encodage/Décodage)
TRY_BASE64_DECODE_BINARY¶
Une version spéciale de BASE64_DECODE_BINARY qui renvoie une valeur NULL si une erreur se produit pendant le décodage.
Syntaxe¶
TRY_BASE64_DECODE_BINARY(<input> [, <alphabet>])
Arguments¶
inputLa chaîne base64 à convertir en type de données BINARY.
alphabetUne 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¶
Cela renvoie une valeur BINARY. La valeur peut être insérée dans une colonne de type BINARY, par exemple.
Notes sur l’utilisation¶
Pour plus d’informations sur le format base64, voir base64.
Exemples¶
Ceci montre comment utiliser la fonction TRY_BASE64_DECODE_BINARY.  La fonction est utilisée dans l’instruction INSERT pour décoder une chaîne codée en base64 en un champ BINARY ; la fonction n’est pas utilisée dans l’instruction SELECT.
Créer une table et insérer des données :
CREATE TABLE base64 (v VARCHAR, base64_encoded_varchar VARCHAR, b BINARY); INSERT INTO base64 (v, base64_encoded_varchar, b) SELECT 'HELP', BASE64_ENCODE('HELP'), TRY_BASE64_DECODE_BINARY(BASE64_ENCODE('HELP'));Maintenant, exécutez une requête pour montrer que nous pouvons récupérer les données intactes :
SELECT v, base64_encoded_varchar, -- Convert binary -> base64-encoded-string TO_VARCHAR(b, 'BASE64'), -- Convert binary back to original value TO_VARCHAR(b, 'UTF-8') FROM base64; +------+------------------------+-------------------------+------------------------+ | V | BASE64_ENCODED_VARCHAR | TO_VARCHAR(B, 'BASE64') | TO_VARCHAR(B, 'UTF-8') | |------+------------------------+-------------------------+------------------------| | HELP | SEVMUA== | SEVMUA== | HELP | +------+------------------------+-------------------------+------------------------+