- Catégories :
TRY_TO_BINARY¶
Une version spéciale de TO_BINARY qui effectue la même opération (c’est-à-dire convertit une expression d’entrée en valeur binaire), mais avec une prise en charge du traitement des erreurs (c’est-à-dire que si la conversion ne peut pas être effectuée, elle retourne une valeur NULL au lieu de produire une erreur).
Pour plus d’informations, voir :
Syntaxe¶
TRY_TO_BINARY( <string_expr> [, '<format>'] )
Arguments¶
Obligatoire :
- string_expr
- Une expression de chaîne. 
Facultatif :
- format
- Le format binaire pour la conversion : HEX, BASE64, ou UTF-8 (voir Entrée et sortie binaires). La valeur par défaut est la valeur du paramètre de session BINARY_INPUT_FORMAT. Si ce paramètre n’est pas défini, la valeur par défaut est HEX. 
Renvoie¶
Renvoie une valeur de type BINARY.
Notes sur l’utilisation¶
- Ne fonctionne que pour les expressions de chaîne. 
- Si le - formatest spécifié mais n’est pas HEX, BASE64 ou UTF-8, le résultat sera une valeur NULL.
Exemples¶
Cela montre comment utiliser la fonction TRY_TO_BINARY lors du chargement de chaînes codées en hexadécimal dans une colonne BINARY :
Créez et remplissez une table :
CREATE TABLE strings (v VARCHAR, hex_encoded_string VARCHAR, b BINARY); INSERT INTO strings (v) VALUES ('01'), ('A B'), ('Hello'), (NULL); UPDATE strings SET hex_encoded_string = HEX_ENCODE(v); UPDATE strings SET b = TRY_TO_BINARY(hex_encoded_string, 'HEX');Interrogez la table en appelant TRY_TO_BINARY() :
SELECT v, hex_encoded_string, TO_VARCHAR(b, 'UTF-8') FROM strings ORDER BY v ; +-------+--------------------+------------------------+ | V | HEX_ENCODED_STRING | TO_VARCHAR(B, 'UTF-8') | |-------+--------------------+------------------------| | 01 | 3031 | 01 | | A B | 412042 | A B | | Hello | 48656C6C6F | Hello | | NULL | NULL | NULL | +-------+--------------------+------------------------+