- Catégories :
Fonctions de chaîne et fonctions binaires (Encodage/Décodage)
TRY_BASE64_DECODE_STRING¶
Une version spéciale de BASE64_DECODE_STRING qui renvoie une valeur NULL si une erreur se produit pendant le décodage.
BASE64_DECODE_STRING
et TRY_BASE64_DECODE_STRING
sont des fonctions « réciproques » (ou « inverses ») de BASE64_ENCODE
.
Syntaxe¶
TRY_BASE64_DECODE_STRING(<input> [, <alphabet>])
Arguments¶
input
La chaîne encodée en base64 à décoder en chaîne normale.
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¶
Pour plus d’informations sur le format base64, voir base64.
Exemples¶
Ceci montre comment utiliser la fonction et que TRY_BASE64_DECODE_STRING
est l’inverse de BASE64_ENCODE
:
SELECT TRY_BASE64_DECODE_STRING(BASE64_ENCODE('HELLO')); +--------------------------------------------------+ | TRY_BASE64_DECODE_STRING(BASE64_ENCODE('HELLO')) | |--------------------------------------------------| | HELLO | +--------------------------------------------------+
Cela montre un exemple plus réaliste :
Créez une table et des données :
CREATE TABLE base64 (v VARCHAR, base64_string VARCHAR, garbage VARCHAR); INSERT INTO base64 (v, base64_string, garbage) SELECT 'HELLO', BASE64_ENCODE('HELLO'), '127';Interrogez les données à l’aide de la fonction
TRY_BASE64_DECODE_STRING
:SELECT v, base64_string, TRY_BASE64_DECODE_STRING(base64_string), TRY_BASE64_DECODE_STRING(garbage) FROM base64; +-------+---------------+-----------------------------------------+-----------------------------------+ | V | BASE64_STRING | TRY_BASE64_DECODE_STRING(BASE64_STRING) | TRY_BASE64_DECODE_STRING(GARBAGE) | |-------+---------------+-----------------------------------------+-----------------------------------| | HELLO | SEVMTE8= | HELLO | NULL | +-------+---------------+-----------------------------------------+-----------------------------------+