Les fonctions binaires à longueur variable traitent les données de types binaires tels que BINARY, VARBINARY et BLOB. Utilisez-les pour chiffrer et déchiffrer des données, compresser et décompresser des chaînes, encoder et décoder des valeurs, calculer des hachages et manipuler des chaînes binaires.
Tous les exemples de cette rubrique utilisent les valeurs de retour générées par Data Management (DMS). Les valeurs de retour peuvent différer dans d'autres clients en raison des différences d'analyse côté client. Par exemple, 'China' est analysé comme 0x4368696E61 par certains clients.
Présentation des fonctions
Chiffrement et déchiffrement
|
Fonction |
description |
type de retour |
|
Déchiffre X à l'aide de l'algorithme Advanced Encryption Standard (AES) avec Y comme clé |
VARBINARY |
|
|
Déchiffre X à l'aide d'AES avec Y comme clé. Compatible MySQL : déchiffre les données chiffrées dans MySQL. Nécessite la version V3.1.10.0 ou ultérieure |
VARBINARY |
|
|
Chiffre X à l'aide d'AES avec Y comme clé |
VARBINARY |
|
|
Chiffre X à l'aide d'AES avec Y comme clé. Compatible MySQL : les données chiffrées avec cette fonction peuvent être déchiffrées dans MySQL. Nécessite la version V3.1.10.0 ou ultérieure |
VARBINARY |
|
|
Chiffre X avec Y comme valeur de sel |
BLOB |
Compression et décompression
|
Fonction |
description |
type de retour |
version |
|
Compresse X et renvoie le résultat sous forme de chaîne binaire |
VARBINARY |
— |
|
|
Décompresse X, qui doit avoir été compressé par |
BLOB |
— |
|
|
Renvoie la longueur de X avant compression |
LONG |
— |
|
|
Compresse X au format GZIP et renvoie le résultat sous forme de chaîne binaire |
VARBINARY |
V3.1.9.3+ |
|
|
Décompresse X au format GZIP et renvoie le résultat sous forme de chaîne binaire |
VARBINARY |
V3.1.9.3+ |
|
|
Compresse X au format ZIP et renvoie le résultat sous forme de chaîne binaire |
VARBINARY |
V3.1.9.3+ |
|
|
Décompresse X au format ZIP et renvoie le résultat sous forme de chaîne binaire |
VARBINARY |
V3.1.9.3+ |
Encodage et décodage
|
Fonction |
description |
type de retour |
|
Convertit X en une chaîne hexadécimale |
VARCHAR |
|
|
Interprète les paires de caractères dans X comme des valeurs hexadécimales, les convertit en octets et renvoie le résultat sous forme de chaîne binaire |
VARBINARY |
|
|
Décode la chaîne X encodée en Base64 et renvoie le résultat |
BLOB |
|
|
Encode X au format Base64 et renvoie le résultat |
VARCHAR |
Hachage et sommes de contrôle
|
Fonction |
description |
type de retour |
|
Renvoie le hachage MD5 (Message-Digest Algorithm 5) de X |
VARCHAR |
|
|
Renvoie la somme de contrôle SHA-1 (Secure Hash Algorithm 1) de X |
VARCHAR |
|
|
Renvoie la somme de contrôle SHA-2 de X. Y spécifie la longueur en bits : 224, 256, 384, 512 ou 0 |
VARCHAR |
|
|
Renvoie le code CRC (Cyclic Redundancy Check) de X |
LONG |
Manipulation de chaînes
|
Fonction |
description |
type de retour |
|
Renvoie la longueur de X mesurée en caractères |
LONG |
|
|
Renvoie la longueur de X mesurée en octets |
LONG |
|
|
Renvoie les Y caractères les plus à gauche de X |
BLOB |
|
|
Renvoie les Y caractères les plus à droite de X |
VARBINARY |
|
|
Renvoie une sous-chaîne commençant à la position Y. Z spécifie la longueur |
VARBINARY |
|
|
Ajoute un remplissage à gauche de X avec Z jusqu'à une longueur totale de Y caractères. Tronque X à Y caractères si X est plus long que Y |
VARBINARY |
|
|
Ajoute un remplissage à droite de X avec Z jusqu'à une longueur totale de Y caractères. Tronque X à Y caractères si X est plus long que Y |
VARBINARY |
|
|
Supprime les espaces de début de X |
BLOB |
|
|
Supprime les espaces de fin de X |
BLOB |
|
|
Supprime les espaces de début et de fin de X |
BLOB |
|
|
Renvoie X en minuscules |
VARBINARY |
|
|
Renvoie X en majuscules |
VARBINARY |
|
|
Renvoie X répété Y fois |
VARBINARY |
|
|
Renvoie X avec les caractères dans l'ordre inverse |
VARBINARY |
|
|
Renvoie le code du caractère le plus à gauche de X lorsque ce caractère est un caractère multioctet |
LONG |
Notes d'utilisation
Sortie spécifique au client : Les valeurs de retour peuvent différer entre les clients en raison de comportements d'analyse différents. Les exemples de cette rubrique utilisent la sortie de DMS.
-
Exigences de version :
GUNZIP,GZIP,UNZIPetZIPnécessitent la version V3.1.9.3 ou ultérieure.AES_DECRYPT_MYetAES_ENCRYPT_MYnécessitent la version V3.1.10.0 ou ultérieure.Pour vérifier la version mineure d'un cluster Data Lakehouse Edition, exécutez
SELECT adb_version();. Pour mettre à jour, contactez le support technique.Pour afficher ou mettre à jour la version mineure d'un cluster Data Warehouse Edition, consultez Mettre à jour la version mineure d'un cluster.
AES_ENCRYPT vs AES_ENCRYPT_MY : Utilisez
AES_ENCRYPTlorsque le chiffrement et le déchiffrement ont lieu tous deux dans AnalyticDB for MySQL. UtilisezAES_ENCRYPT_MYlorsque les données chiffrées doivent être déchiffrables dans MySQL, ou lors du déchiffrement de données qui ont été chiffrées dans MySQL.Comportement NULL :
UNHEX()renvoie NULL lorsque l'entrée contient des caractères en dehors de la plage hexadécimale (0–9, A–F).Stockage des résultats binaires : Les fonctions qui renvoient VARBINARY ou BLOB peuvent produire des valeurs d'octets arbitraires. Pour afficher les résultats binaires sous forme de texte lisible, encapsulez la sortie dans
HEX().
AES_DECRYPT
AES_DECRYPT(VARBINARY X, VARCHAR Y)
Déchiffre X à l'aide d'AES avec Y comme clé.
Exemple :
SELECT HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'),'0123'));
Le résultat suivant est renvoyé :
+-----------------------------------------------------------------------------+
| HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'),'0123')) |
+-----------------------------------------------------------------------------+
| 4368696E61 |
+-----------------------------------------------------------------------------+
SELECT UNZIP(ZIP(CAST('China' AS VARBINARY)));
Le résultat suivant est renvoyé :
+---------------------------------------+
| UNZIP(ZIP(CAST('China' AS VARBINARY)))|
+---------------------------------------+
| China |
+---------------------------------------+
SELECT UNZIP(ZIP(CAST('China' AS VARBINARY)));
Le résultat suivant est renvoyé :
+---------------------------------------+
| UNZIP(ZIP(CAST('China' AS VARBINARY)))|
+---------------------------------------+
| China |
+---------------------------------------+
SELECT HEX(GZIP(CAST('China' AS VARBINARY)));
Le résultat suivant est renvoyé :
+------------------------------------------------------+
| HEX(GZIP(CAST('China' AS VARBINARY))) |
+------------------------------------------------------+
|1F8B080000000000000073CEC8CC4B040020ED2EA105000000 |
+------------------------------------------------------+
SELECT GUNZIP(GZIP(CAST('China' AS VARBINARY)));
Le résultat suivant est renvoyé :
+--------------------------------------------+
| GUNZIP(GZIP(CAST('China' AS VARBINARY))) |
+--------------------------------------------+
| China |
+--------------------------------------------+
SELECT UNHEX(CAST('China' AS VARBINARY));
Le résultat suivant est renvoyé :
+------------------------------------+
| UNHEX(CAST('China' AS VARBINARY)) |
+------------------------------------+
| NULL |
+------------------------------------+
SELECT UNCOMPRESSED_LENGTH(COMPRESS(CAST('China' AS VARBINARY)));
Le résultat suivant est renvoyé :
+------------------------------------------------------------+
| UNCOMPRESSED_LENGTH(COMPRESS(CAST('China' AS VARBINARY))) |
+------------------------------------------------------------+
| 5 |
+------------------------------------------------------------+
SELECT UNCOMPRESS(COMPRESS(CAST('China' AS VARBINARY)));
Le résultat suivant est renvoyé :
+---------------------------------------------------+
| UNCOMPRESS(COMPRESS(CAST('China' AS VARBINARY))) |
+---------------------------------------------------+
| China |
+---------------------------------------------------+
SELECT TRIM(CAST(' China ' AS VARBINARY));
Le résultat suivant est renvoyé :
+---------------------------------------+
| TRIM(CAST(' China ' AS VARBINARY)) |
+---------------------------------------+
| China |
+---------------------------------------+
SELECT TO_BASE64(CAST('China' AS VARBINARY));
Le résultat suivant est renvoyé :
+----------------------------------------+
| TO_BASE64(CAST('China' AS VARBINARY)) |
+----------------------------------------+
| Q2hpbmE= |
+----------------------------------------+
SELECT SHA2(CAST('China' AS VARBINARY),256);
Le résultat suivant est renvoyé :
+------------------------------------------------------------------+
| SHA2(CAST('China' AS VARBINARY),256) |
+------------------------------------------------------------------+
| 10436829032f361a3de50048de41755140e581467bc1895e6c1a17f423e42d10 |
+------------------------------------------------------------------+
SELECT SHA1(CAST('China' AS VARBINARY));
Le résultat suivant est renvoyé :
+------------------------------------------+
| SHA1(CAST('China' AS VARBINARY)) |
+------------------------------------------+
| d2eaf2aa1512d6596e0a5bae633537c6b8e779a3 |
+------------------------------------------+
SELECT RTRIM(CAST(' China ' AS VARBINARY));
Le résultat suivant est renvoyé :
+----------------------------------------+
| RTRIM(CAST(' China ' AS VARBINARY)) |
+----------------------------------------+
| China |
+----------------------------------------+
SELECT HEX(RPAD(CAST('China' AS VARBINARY), 4.7,'x'));
Le résultat suivant est renvoyé :
+--------------------------------------------------+
| HEX(RPAD(CAST('China' AS VARBINARY), 4.7, 'x')) |
+--------------------------------------------------+
| 4368696E61 |
+--------------------------------------------------+
SELECT HEX(RIGHT(CAST('China' AS VARBINARY),1));
Le résultat suivant est renvoyé :
+--------------------------------------------+
| HEX(RIGHT(CAST('China' AS VARBINARY), 1)) |
+--------------------------------------------+
| 61 |
+--------------------------------------------+
SELECT HEX(REVERSE(CAST('China' AS VARBINARY)));
Le résultat suivant est renvoyé :
+-------------------------------------------+
| HEX(REVERSE(CAST('China' AS VARBINARY))) |
+-------------------------------------------+
| 616E696843 |
+-------------------------------------------+
SELECT HEX(REPEAT(CAST('China' AS VARBINARY),1));
Le résultat suivant est renvoyé :
+---------------------------------------------+
| HEX(REPEAT(CAST('China' AS VARBINARY), 1)) |
+---------------------------------------------+
| 4368696E61 |
+---------------------------------------------+
SELECT ORD(CAST('China' AS VARBINARY));
Le résultat suivant est renvoyé :
+----------------------------------+
| ORD(CAST('China' AS VARBINARY)) |
+----------------------------------+
|67 |
+----------------------------------+
SELECT MD5(CAST('China' AS VARBINARY));
Le résultat suivant est renvoyé :
+----------------------------------+
| MD5(CAST('China' AS VARBINARY)) |
+----------------------------------+
| ae54a5c026f31ada088992587d92cb3a |
+----------------------------------+
SELECT LTRIM(CAST(' China ' AS VARBINARY));
Le résultat suivant est renvoyé :
+----------------------------------------+
| LTRIM(CAST(' China ' AS VARBINARY)) |
+----------------------------------------+
| China |
+----------------------------------------+
SELECT HEX(LPAD(CAST('China' AS VARBINARY), 7,'-'));
Le résultat suivant est renvoyé :
+------------------------------------------------+
| HEX(LPAD(CAST('China' AS VARBINARY), 7, '-')) |
+------------------------------------------------+
| 2D2D4368696E61 |
+------------------------------------------------+
SELECT LEFT(CAST('China' AS VARBINARY),1000);
Le résultat suivant est renvoyé :
+-----------------------------------------+
| LEFT(CAST('China' AS VARBINARY), 1000) |
+-----------------------------------------+
| China |
+-----------------------------------------+
SELECT HEX(CAST('China' AS VARBINARY));
Le résultat suivant est renvoyé :
+----------------------------------+
| HEX(CAST('China' AS VARBINARY)) |
+----------------------------------+
| 4368696E61 |
+----------------------------------+
SELECT CRC32(CAST('China' AS VARBINARY));
Le résultat suivant est renvoyé :
+------------------------------------+
| CRC32(CAST('China' AS VARBINARY)) |
+------------------------------------+
| 2704207136 |
+------------------------------------+
SELECT HEX(COMPRESS(CAST('China' AS VARBINARY)));
Le résultat suivant est renvoyé :
+--------------------------------------------+
| HEX(COMPRESS(CAST('China' AS VARBINARY))) |
+--------------------------------------------+
| 05000000789C73CEC8CC4B0400056C01E4 |
+--------------------------------------------+
SELECT HEX(AES_ENCRYPT_MY('China', 'key_string'));
Le résultat suivant est renvoyé :
+-------------------------------------------------------+
|HEX(AES_ENCRYPT_MY('China', 'key_string')) |
+-------------------------------------------------------+
|CF3AB34E18CD73CE37D46AD2588BA258 |
+-------------------------------------------------------+
SELECT HEX(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'));
Le résultat suivant est renvoyé :
+-------------------------------------------------------+
|HEX(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123')) |
+-------------------------------------------------------+
| 6C5CB5E59E3EA58E58CFBE3C76BFBECA |
+-------------------------------------------------------+
SELECT HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'),'0123'));
Le résultat suivant est renvoyé :
+-----------------------------------------------------------------------------+
| HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'),'0123')) |
+-----------------------------------------------------------------------------+
| 4368696E61 |
+-----------------------------------------------------------------------------+
SELECT HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'), '0123'));
Sortie :
+-----------------------------------------------------------------------------+
| HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'),'0123')) |
+-----------------------------------------------------------------------------+
| 4368696E61 |
+-----------------------------------------------------------------------------+
AES_DECRYPT_MY
AES_DECRYPT_MY est compatible avec MySQL. Utilisez cette fonction pour déchiffrer des données qui ont été chiffrées dans MySQL. Nécessite AnalyticDB for MySQL V3.1.10.0 ou une version ultérieure.
AES_DECRYPT_MY(VARBINARY X, VARCHAR Y)
Déchiffre X en utilisant AES avec Y comme clé.
Exemple :
SELECT CAST(AES_DECRYPT_MY(UNHEX('CF3AB34E18CD73CE37D46AD2588BA258'), 'key_string') AS CHAR);
Sortie :
+----------------------------------------------------------------------------------------+
| CAST(AES_DECRYPT_MY(UNHEX('CF3AB34E18CD73CE37D46AD2588BA258'),'key_string') AS CHAR) |
+----------------------------------------------------------------------------------------+
| China |
+----------------------------------------------------------------------------------------+
AES_ENCRYPT
AES_ENCRYPT(VARBINARY X, VARCHAR Y)
Chiffre X en utilisant AES avec Y comme clé.
Exemple :
SELECT HEX(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'));
Sortie :
+-------------------------------------------------------+
| HEX(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123')) |
+-------------------------------------------------------+
| 6C5CB5E59E3EA58E58CFBE3C76BFBECA |
+-------------------------------------------------------+
AES_ENCRYPT_MY
AES_ENCRYPT_MY est compatible avec MySQL. Les données chiffrées avec cette fonction peuvent être déchiffrées dans MySQL. Nécessite AnalyticDB for MySQL V3.1.10.0 ou une version ultérieure.
AES_ENCRYPT_MY(VARBINARY X, VARCHAR Y)
Chiffre X en utilisant AES avec Y comme clé.
Exemple :
SELECT HEX(AES_ENCRYPT_MY('China', 'key_string'));
Sortie :
+--------------------------------------------+
| HEX(AES_ENCRYPT_MY('China', 'key_string')) |
+--------------------------------------------+
| CF3AB34E18CD73CE37D46AD2588BA258 |
+--------------------------------------------+
CHAR_LENGTH
CHAR_LENGTH(VARBINARY X)
Renvoie la longueur de X, mesurée en caractères.
Exemple :
SELECT CHAR_LENGTH(CAST('ABC' AS VARBINARY));
Résultat :
+---------------------------------------+
| CHAR_LENGTH(CAST('ABC' AS VARBINARY)) |
+---------------------------------------+
| 3 |
+---------------------------------------+
COMPRESS
COMPRESS(VARBINARY X)
Compresse X et renvoie le résultat sous forme de chaîne binaire. Utilisez HEX() pour afficher le résultat sous forme de texte lisible.
Exemple :
SELECT HEX(COMPRESS(CAST('China' AS VARBINARY)));
Résultat :
+--------------------------------------------+
| HEX(COMPRESS(CAST('China' AS VARBINARY))) |
+--------------------------------------------+
| 05000000789C73CEC8CC4B0400056C01E4 |
+--------------------------------------------+
CRC32
CRC32(VARBINARY X)
Renvoie le code de contrôle de redondance cyclique (CRC) de X.
Exemple :
SELECT CRC32(CAST('China' AS VARBINARY));
Résultat :
+------------------------------------+
| CRC32(CAST('China' AS VARBINARY)) |
+------------------------------------+
| 2704207136 |
+------------------------------------+
ENCRYPT
ENCRYPT(VARBINARY X, VARCHAR Y)
Chiffre X en utilisant Y comme valeur de sel.
Exemple :
SELECT ENCRYPT('ABDABC123', 'KEY');
Résultat :
+-----------------------------+
| ENCRYPT('ABDABC123','KEY') |
+-----------------------------+
| kezazmcIo.aCw |
+-----------------------------+
FROM_BASE64
FROM_BASE64(VARBINARY X)
Décode la chaîne X encodée en Base64 et renvoie le résultat.
Exemple :
SELECT FROM_BASE64(TO_BASE64(CAST('abc' AS VARBINARY)));
Résultat :
+--------------------------------------------------+
| FROM_BASE64(TO_BASE64(CAST('abc' AS VARBINARY))) |
+--------------------------------------------------+
| abc |
+--------------------------------------------------+
GUNZIP
Nécessite AnalyticDB for MySQL V3.1.9.3 ou une version ultérieure.
GUNZIP(VARBINARY X)
Décompresse X au format GZIP et renvoie le résultat sous forme de chaîne binaire.
Exemple :
SELECT GUNZIP(GZIP(CAST('China' AS VARBINARY)));
Résultat :
+------------------------------------------+
| GUNZIP(GZIP(CAST('China' AS VARBINARY))) |
+------------------------------------------+
| China |
+------------------------------------------+
GZIP
Nécessite AnalyticDB for MySQL V3.1.9.3 ou une version ultérieure.
GZIP(VARBINARY X)
Compresse X au format GZIP et renvoie le résultat sous forme de chaîne binaire. Utilisez HEX() pour afficher le résultat sous forme de texte lisible.
Exemple :
SELECT HEX(GZIP(CAST('China' AS VARBINARY)));
Résultat :
+----------------------------------------------------------+
| HEX(GZIP(CAST('China' AS VARBINARY))) |
+----------------------------------------------------------+
| 1F8B080000000000000073CEC8CC4B040020ED2EA105000000 |
+----------------------------------------------------------+
HEX
HEX(VARBINARY X)
Convertit X en une chaîne hexadécimale.
Exemple :
SELECT HEX(CAST('China' AS VARBINARY));
Résultat :
+----------------------------------+
| HEX(CAST('China' AS VARBINARY)) |
+----------------------------------+
| 4368696E61 |
+----------------------------------+
LEFT
LEFT(VARBINARY X, BIGINT Y)
LEFT(VARBINARY X, DOUBLE Y)
Renvoie les Y caractères les plus à gauche de X.
Exemple :
SELECT LEFT(CAST('China' AS VARBINARY), 1000);
Résultat :
+-----------------------------------------+
| LEFT(CAST('China' AS VARBINARY), 1000) |
+-----------------------------------------+
| China |
+-----------------------------------------+
LENGTH
LENGTH(VARBINARY X)
Renvoie la longueur de X, mesurée en octets.
Exemple :
SELECT LENGTH(CAST('ABC' AS VARBINARY));
Résultat :
+----------------------------------+
| LENGTH(CAST('ABC' AS VARBINARY)) |
+----------------------------------+
| 3 |
+----------------------------------+
LOWER
LOWER(VARBINARY X)
Renvoie X en minuscules.
Exemple :
SELECT LOWER(CAST('ABC' AS VARBINARY));
Résultat :
+---------------------------------+
| LOWER(CAST('ABC' AS VARBINARY)) |
+---------------------------------+
| abc |
+---------------------------------+
LPAD
LPAD(VARBINARY X, BIGINT Y, VARCHAR Z)
LPAD(VARBINARY X, DOUBLE Y, VARCHAR Z)
Ajoute des caractères Z à gauche de X jusqu'à atteindre une longueur totale de Y caractères. Si X est plus long que Y caractères, le résultat est tronqué à Y caractères.
Exemple :
SELECT HEX(LPAD(CAST('China' AS VARBINARY), 7, '-'));
Résultat :
+------------------------------------------------+
| HEX(LPAD(CAST('China' AS VARBINARY), 7, '-')) |
+------------------------------------------------+
| 2D2D4368696E61 |
+------------------------------------------------+
LTRIM
LTRIM(VARBINARY X)
Supprime les espaces de début de X.
Exemple :
SELECT LTRIM(CAST(' China ' AS VARBINARY));
Résultat :
+----------------------------------------+
| LTRIM(CAST(' China ' AS VARBINARY)) |
+----------------------------------------+
| China |
+----------------------------------------+
MD5
MD5(VARBINARY X)
Renvoie le hachage MD5 de X.
Exemple :
SELECT MD5(CAST('China' AS VARBINARY));
Résultat :
+----------------------------------+
| MD5(CAST('China' AS VARBINARY)) |
+----------------------------------+
| ae54a5c026f31ada088992587d92cb3a |
+----------------------------------+
ORD
ORD(VARBINARY X)
Renvoie le code du caractère le plus à gauche de X lorsque ce caractère est un caractère multioctet.
Exemple :
SELECT ORD(CAST('China' AS VARBINARY));
Résultat :
+----------------------------------+
| ORD(CAST('China' AS VARBINARY)) |
+----------------------------------+
| 67 |
+----------------------------------+
REPEAT
REPEAT(VARBINARY X, DOUBLE Y)
REPEAT(VARBINARY X, BIGINT Y)
Renvoie X répété Y fois.
Exemple :
SELECT HEX(REPEAT(CAST('China' AS VARBINARY), 1));
Résultat :
+---------------------------------------------+
| HEX(REPEAT(CAST('China' AS VARBINARY), 1)) |
+---------------------------------------------+
| 4368696E61 |
+---------------------------------------------+
REVERSE
REVERSE(VARBINARY X)
Renvoie X avec les caractères dans l'ordre inverse.
Exemple :
SELECT HEX(REVERSE(CAST('China' AS VARBINARY)));
Résultat :
+-------------------------------------------+
| HEX(REVERSE(CAST('China' AS VARBINARY))) |
+-------------------------------------------+
| 616E696843 |
+-------------------------------------------+
RIGHT
RIGHT(VARBINARY X, BIGINT Y)
RIGHT(VARBINARY X, DOUBLE Y)
Renvoie les Y caractères les plus à droite de X.
Exemple :
SELECT HEX(RIGHT(CAST('China' AS VARBINARY), 1));
Résultat :
+--------------------------------------------+
| HEX(RIGHT(CAST('China' AS VARBINARY), 1)) |
+--------------------------------------------+
| 61 |
+--------------------------------------------+
RPAD
RPAD(VARBINARY X, BIGINT Y, VARCHAR Z)
RPAD(VARBINARY X, DOUBLE Y, VARCHAR Z)
Ajoute des caractères Z à droite de X jusqu'à atteindre une longueur totale de Y caractères. Si X est plus long que Y caractères, le résultat est tronqué à Y caractères.
Exemple :
SELECT HEX(RPAD(CAST('China' AS VARBINARY), 4.7, 'x'));
Résultat :
+--------------------------------------------------+
| HEX(RPAD(CAST('China' AS VARBINARY), 4.7, 'x')) |
+--------------------------------------------------+
| 4368696E61 |
+--------------------------------------------------+
RTRIM
RTRIM(VARBINARY X)
Supprime les espaces de fin de X.
Exemple :
SELECT RTRIM(CAST(' China ' AS VARBINARY));
Résultat :
+----------------------------------------+
| RTRIM(CAST(' China ' AS VARBINARY)) |
+----------------------------------------+
| China |
+----------------------------------------+
SHA1
SHA1(VARBINARY X)
Renvoie la somme de contrôle SHA-1 de X.
Exemple :
SELECT SHA1(CAST('China' AS VARBINARY));
Résultat :
+------------------------------------------+
| SHA1(CAST('China' AS VARBINARY)) |
+------------------------------------------+
| d2eaf2aa1512d6596e0a5bae633537c6b8e779a3 |
+------------------------------------------+
SHA2
SHA2(VARBINARY X, INTEGER Y)
SHA2(VARBINARY X, VARCHAR Y)
Renvoie la somme de contrôle SHA-2 de X. Y spécifie la longueur en bits de la sortie et doit être l'une des valeurs suivantes : 224, 256, 384, 512 ou 0. Les variantes prises en charge sont SHA-224, SHA-256, SHA-384 et SHA-512.
Exemple :
SELECT SHA2(CAST('China' AS VARBINARY), 256);
Résultat :
+------------------------------------------------------------------+
| SHA2(CAST('China' AS VARBINARY),256) |
+------------------------------------------------------------------+
| 10436829032f361a3de50048de41755140e581467bc1895e6c1a17f423e42d10 |
+------------------------------------------------------------------+
SUBSTR
SUBSTR(VARBINARY X, BIGINT Y, DOUBLE Z)
SUBSTR(VARBINARY X, DOUBLE Y, DOUBLE Z)
SUBSTR(VARBINARY X, BIGINT Y, BIGINT Z)
SUBSTR(VARBINARY X, DOUBLE Y, BIGINT Z)
SUBSTR(VARBINARY X, DOUBLE Y)
SUBSTR(VARBINARY X, BIGINT Y)
Renvoie une sous-chaîne de X commençant à la position Y. Z spécifie le nombre de caractères à renvoyer.
TO_BASE64
TO_BASE64(VARBINARY X)
Encode X au format Base64 et renvoie le résultat.
Exemple :
SELECT TO_BASE64(CAST('China' AS VARBINARY));
Résultat :
+----------------------------------------+
| TO_BASE64(CAST('China' AS VARBINARY)) |
+----------------------------------------+
| Q2hpbmE= |
+----------------------------------------+
TRIM
TRIM(VARBINARY X)
Supprime les espaces de début et de fin de X.
Exemple :
SELECT TRIM(CAST(' China ' AS VARBINARY));
Résultat :
+---------------------------------------+
| TRIM(CAST(' China ' AS VARBINARY)) |
+---------------------------------------+
| China |
+---------------------------------------+
UNCOMPRESS
UNCOMPRESS(VARBINARY X)
Décompresse X, qui doit avoir été compressé par la fonction COMPRESS().
Exemple :
SELECT UNCOMPRESS(COMPRESS(CAST('China' AS VARBINARY)));
Résultat :
+---------------------------------------------------+
| UNCOMPRESS(COMPRESS(CAST('China' AS VARBINARY))) |
+---------------------------------------------------+
| China |
+---------------------------------------------------+
UNCOMPRESSED_LENGTH
UNCOMPRESSED_LENGTH(VARBINARY X)
Renvoie la longueur de X avant compression.
Exemple :
SELECT UNCOMPRESSED_LENGTH(COMPRESS(CAST('China' AS VARBINARY)));
Résultat :
+------------------------------------------------------------+
| UNCOMPRESSED_LENGTH(COMPRESS(CAST('China' AS VARBINARY))) |
+------------------------------------------------------------+
| 5 |
+------------------------------------------------------------+
UNHEX
UNHEX(VARBINARY X)
Interprète les paires de caractères de X comme des valeurs hexadécimales, les convertit en octets et renvoie le résultat sous forme de chaîne binaire. Renvoie NULL si l'entrée contient des caractères en dehors de la plage hexadécimale (0–9, A–F).
Exemple :
SELECT UNHEX(CAST('China' AS VARBINARY));
Résultat :
+------------------------------------+
| UNHEX(CAST('China' AS VARBINARY)) |
+------------------------------------+
| NULL |
+------------------------------------+
Le résultat est NULL car 'China' contient des caractères en dehors de la plage hexadécimale (0–9, A–F).
UNZIP
Nécessite AnalyticDB for MySQL V3.1.9.3 ou une version ultérieure.
UNZIP(VARBINARY X)
Décompresse X au format ZIP et renvoie le résultat sous forme de chaîne binaire.
Exemple :
SELECT UNZIP(ZIP(CAST('China' AS VARBINARY)));
Résultat :
+----------------------------------------+
| UNZIP(ZIP(CAST('China' AS VARBINARY))) |
+----------------------------------------+
| China |
+----------------------------------------+
UPPER
UPPER(VARBINARY X)
Renvoie X en majuscules.
Exemple :
SELECT UPPER(CAST('abc' AS VARBINARY));
Résultat :
+---------------------------------+
| UPPER(CAST('abc' AS VARBINARY)) |
+---------------------------------+
| ABC |
+---------------------------------+
ZIP
Nécessite AnalyticDB for MySQL V3.1.9.3 ou une version ultérieure.
ZIP(VARBINARY X)
Compresse X au format ZIP et renvoie le résultat sous forme de chaîne binaire. Utilisez HEX() pour afficher le résultat sous forme de texte lisible.
Exemple :
SELECT UNZIP(ZIP(CAST('China' AS VARBINARY)));
Résultat :
+----------------------------------------+
| UNZIP(ZIP(CAST('China' AS VARBINARY))) |
+----------------------------------------+
| China |
+----------------------------------------+