Todos os produtos
Search
Central de documentação

AnalyticDB:Funções binárias de comprimento variável

Última atualização: Aug 28, 2026

As funções binárias de comprimento variável processam dados de tipos binários, como BINARY, VARBINARY e BLOB. Use-as para criptografar e descriptografar dados, compactar e descompactar strings, codificar e decodificar valores, calcular hashes e manipular strings binárias.

Todos os exemplos neste tópico usam valores de retorno gerados pelo Data Management (DMS). Os valores de retorno podem variar em outros clientes devido a diferenças na análise do lado do cliente. Por exemplo, 'China' é analisado como 0x4368696E61 por alguns clientes.

Visão geral das funções

Criptografia e descriptografia

Função

Descrição

Tipo de retorno

AES_DECRYPT(X, Y)

Descriptografa X usando o algoritmo Advanced Encryption Standard (AES) com Y como chave

VARBINARY

AES_DECRYPT_MY(X, Y)

Descriptografa X usando AES com Y como chave. Compatível com MySQL — descriptografa dados criptografados no MySQL. Requer V3.1.10.0 ou posterior

VARBINARY

AES_ENCRYPT(X, Y)

Criptografa X usando AES com Y como chave

VARBINARY

AES_ENCRYPT_MY(X, Y)

Criptografa X usando AES com Y como chave. Compatível com MySQL — dados criptografados com esta função podem ser descriptografados no MySQL. Requer V3.1.10.0 ou posterior

VARBINARY

ENCRYPT(X, Y)

Criptografa X com Y como valor de salt

BLOB

Compactação e descompactação

Função

Descrição

Tipo de retorno

Versão

COMPRESS(X)

Compacta X e retorna o resultado como string binária

VARBINARY

UNCOMPRESS(X)

Descompacta X, que deve ter sido compactado por COMPRESS()

BLOB

UNCOMPRESSED_LENGTH(X)

Retorna o comprimento de X antes da compactação

LONG

GZIP(X)

Compacta X no formato GZIP e retorna o resultado como string binária

VARBINARY

V3.1.9.3+

GUNZIP(X)

Descompacta X no formato GZIP e retorna a string binária resultante

VARBINARY

V3.1.9.3+

ZIP(X)

Compacta X no formato ZIP e retorna o resultado como string binária

VARBINARY

V3.1.9.3+

UNZIP(X)

Descompacta X no formato ZIP e retorna a string binária resultante

VARBINARY

V3.1.9.3+

Codificação e decodificação

Função

Descrição

Tipo de retorno

HEX(X)

Converte X para uma string hexadecimal

VARCHAR

UNHEX(X)

Interpreta pares de caracteres em X como valores hexadecimais, converte-os em bytes e retorna o resultado como string binária

VARBINARY

FROM_BASE64(X)

Decodifica a string X codificada em Base64 e retorna o resultado

BLOB

TO_BASE64(X)

Codifica X no formato Base64 e retorna o resultado

VARCHAR

Hashing e checksums

Função

Descrição

Tipo de retorno

MD5(X)

Retorna o hash do algoritmo message-digest 5 (MD5) de X

VARCHAR

SHA1(X)

Retorna o checksum do Secure Hash Algorithm 1 (SHA-1) de X

VARCHAR

SHA2(X, Y)

Retorna o checksum SHA-2 de X. Y especifica o comprimento em bits: 224, 256, 384, 512 ou 0

VARCHAR

CRC32(X)

Retorna o código de verificação cíclica de redundância (CRC) de X

LONG

Manipulação de strings

Função

Descrição

Tipo de retorno

CHAR_LENGTH(X)

Retorna o comprimento de X medido em caracteres

LONG

LENGTH(X)

Retorna o comprimento de X medido em bytes

LONG

LEFT(X, Y)

Retorna os Y caracteres mais à esquerda de X

BLOB

RIGHT(X, Y)

Retorna os Y caracteres mais à direita de X

VARBINARY

[SUBSTR(X, Y[, Z])](#section_21q_byy_83m)

Retorna uma substring começando na posição Y. Z especifica o comprimento

VARBINARY

LPAD(X, Y, Z)

Preenche X à esquerda com Z até um comprimento total de Y caracteres. Trunca X para Y caracteres se X for maior que Y

VARBINARY

RPAD(X, Y, Z)

Preenche X à direita com Z até um comprimento total de Y caracteres. Trunca X para Y caracteres se X for maior que Y

VARBINARY

LTRIM(X)

Remove espaços à esquerda de X

BLOB

RTRIM(X)

Remove espaços à direita de X

BLOB

TRIM(X)

Remove espaços à esquerda e à direita de X

BLOB

LOWER(X)

Retorna X em letras minúsculas

VARBINARY

UPPER(X)

Retorna X em letras maiúsculas

VARBINARY

REPEAT(X, Y)

Retorna X repetido Y vezes

VARBINARY

REVERSE(X)

Retorna X com os caracteres em ordem inversa

VARBINARY

ORD(X)

Retorna o código do caractere mais à esquerda de X quando esse caractere é multibyte

LONG

Notas de uso

  • Saída específica do cliente: Os valores de retorno podem diferir entre clientes devido a comportamentos distintos de análise. Os exemplos neste tópico usam a saída do DMS.

  • Requisitos de versão: As funções GUNZIP, GZIP, UNZIP e ZIP exigem a versão V3.1.9.3 ou posterior. Já AES_DECRYPT_MY e AES_ENCRYPT_MY requerem a versão V3.1.10.0 ou posterior.

    • Para verificar a versão secundária de um cluster Data Lakehouse Edition, execute SELECT adb_version();. Para atualizar, entre em contato com o suporte técnico.

    • Para visualizar ou atualizar a versão secundária de um cluster Data Warehouse Edition, consulte Atualizar a versão secundária de um cluster.

  • AES_ENCRYPT vs AES_ENCRYPT_MY: Use AES_ENCRYPT quando tanto a criptografia quanto a descriptografia ocorrerem dentro do AnalyticDB for MySQL. Utilize AES_ENCRYPT_MY quando os dados criptografados precisarem ser descriptografados no MySQL ou ao descriptografar dados que foram criptografados no MySQL.

  • Comportamento de NULL: A função UNHEX() retorna NULL quando a entrada contém caracteres fora do intervalo hexadecimal (0–9, A–F).

  • Armazenamento de resultados binários: Funções que retornam VARBINARY ou BLOB podem produzir valores de byte arbitrários. Para exibir resultados binários como texto legível, envolva a saída em HEX().

AES_DECRYPT

AES_DECRYPT(VARBINARY X, VARCHAR Y)

Descriptografa X usando AES com Y como chave.

Exemplo:

SELECT HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'),'0123'));

O seguinte resultado é retornado:

+-----------------------------------------------------------------------------+
| HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'),'0123'))    |
+-----------------------------------------------------------------------------+
|   4368696E61                                                                |
+-----------------------------------------------------------------------------+
SELECT UNZIP(ZIP(CAST('China' AS VARBINARY)));

O seguinte resultado é retornado:

+---------------------------------------+
| UNZIP(ZIP(CAST('China' AS VARBINARY)))|
+---------------------------------------+
| China                                 | 
+---------------------------------------+
SELECT UNZIP(ZIP(CAST('China' AS VARBINARY)));

O seguinte resultado é retornado:

+---------------------------------------+
| UNZIP(ZIP(CAST('China' AS VARBINARY)))|
+---------------------------------------+
| China                                 | 
+---------------------------------------+
SELECT HEX(GZIP(CAST('China' AS VARBINARY)));

O seguinte resultado é retornado:

+------------------------------------------------------+
| HEX(GZIP(CAST('China' AS VARBINARY)))                |
+------------------------------------------------------+
|1F8B080000000000000073CEC8CC4B040020ED2EA105000000    | 
+------------------------------------------------------+
SELECT GUNZIP(GZIP(CAST('China' AS VARBINARY)));

O seguinte resultado é retornado:

+--------------------------------------------+
| GUNZIP(GZIP(CAST('China' AS VARBINARY)))   |
+--------------------------------------------+
| China                                      |  
+--------------------------------------------+
SELECT UNHEX(CAST('China' AS VARBINARY));

O seguinte resultado é retornado:

+------------------------------------+
| UNHEX(CAST('China' AS VARBINARY))  |
+------------------------------------+
| NULL                               |  
+------------------------------------+
SELECT UNCOMPRESSED_LENGTH(COMPRESS(CAST('China' AS VARBINARY)));

O seguinte resultado é retornado:

+------------------------------------------------------------+
| UNCOMPRESSED_LENGTH(COMPRESS(CAST('China' AS VARBINARY)))  |
+------------------------------------------------------------+
| 5                                                          |
+------------------------------------------------------------+
SELECT UNCOMPRESS(COMPRESS(CAST('China' AS VARBINARY)));

O seguinte resultado é retornado:

+---------------------------------------------------+
| UNCOMPRESS(COMPRESS(CAST('China' AS VARBINARY)))  |
+---------------------------------------------------+
| China                                             | 
+---------------------------------------------------+
SELECT TRIM(CAST('  China  ' AS VARBINARY));

O seguinte resultado é retornado:

+---------------------------------------+
| TRIM(CAST('  China  ' AS VARBINARY))  |
+---------------------------------------+
| China                                 | 
+---------------------------------------+
SELECT TO_BASE64(CAST('China' AS VARBINARY));

O seguinte resultado é retornado:

+----------------------------------------+
| TO_BASE64(CAST('China' AS VARBINARY))  |
+----------------------------------------+
| Q2hpbmE=                               |
+----------------------------------------+
SELECT SHA2(CAST('China' AS VARBINARY),256);

O seguinte resultado é retornado:

+------------------------------------------------------------------+
| SHA2(CAST('China' AS VARBINARY),256)                            |
+------------------------------------------------------------------+
| 10436829032f361a3de50048de41755140e581467bc1895e6c1a17f423e42d10 |
+------------------------------------------------------------------+
SELECT SHA1(CAST('China' AS VARBINARY));

O seguinte resultado é retornado:

+------------------------------------------+
| SHA1(CAST('China' AS VARBINARY))         |
+------------------------------------------+
| d2eaf2aa1512d6596e0a5bae633537c6b8e779a3 |      
+------------------------------------------+
SELECT RTRIM(CAST('  China  ' AS VARBINARY));

O seguinte resultado é retornado:

+----------------------------------------+
| RTRIM(CAST('  China  ' AS VARBINARY))  |
+----------------------------------------+
|   China                                | 
+----------------------------------------+
SELECT HEX(RPAD(CAST('China' AS VARBINARY), 4.7,'x'));

O seguinte resultado é retornado:

+--------------------------------------------------+
| HEX(RPAD(CAST('China' AS VARBINARY), 4.7, 'x'))  |
+--------------------------------------------------+
| 4368696E61                                       | 
+--------------------------------------------------+
SELECT HEX(RIGHT(CAST('China' AS VARBINARY),1));

O seguinte resultado é retornado:

+--------------------------------------------+
| HEX(RIGHT(CAST('China' AS VARBINARY), 1))  |
+--------------------------------------------+
| 61                                         |
+--------------------------------------------+
SELECT HEX(REVERSE(CAST('China' AS VARBINARY)));

O seguinte resultado é retornado:

+-------------------------------------------+
| HEX(REVERSE(CAST('China' AS VARBINARY)))  |
+-------------------------------------------+
|  616E696843                               |
+-------------------------------------------+
SELECT HEX(REPEAT(CAST('China' AS VARBINARY),1));

O seguinte resultado é retornado:

+---------------------------------------------+
| HEX(REPEAT(CAST('China' AS VARBINARY), 1))  |
+---------------------------------------------+
|  4368696E61                                 | 
+---------------------------------------------+
SELECT ORD(CAST('China' AS VARBINARY));

O seguinte resultado é retornado:

+----------------------------------+
| ORD(CAST('China' AS VARBINARY))  |
+----------------------------------+
|67                                | 
+----------------------------------+
SELECT MD5(CAST('China' AS VARBINARY));

O seguinte resultado é retornado:

+----------------------------------+
| MD5(CAST('China' AS VARBINARY))  |
+----------------------------------+
| ae54a5c026f31ada088992587d92cb3a | 
+----------------------------------+
SELECT LTRIM(CAST('  China  ' AS VARBINARY));

O seguinte resultado é retornado:

+----------------------------------------+
| LTRIM(CAST('  China  ' AS VARBINARY))  |
+----------------------------------------+
| China                                  |
+----------------------------------------+
SELECT HEX(LPAD(CAST('China' AS VARBINARY), 7,'-'));

O seguinte resultado é retornado:

+------------------------------------------------+
| HEX(LPAD(CAST('China' AS VARBINARY), 7, '-'))  |
+------------------------------------------------+
| 2D2D4368696E61                                 | 
+------------------------------------------------+
SELECT LEFT(CAST('China' AS VARBINARY),1000);

O seguinte resultado é retornado:

+-----------------------------------------+
| LEFT(CAST('China' AS VARBINARY), 1000)  |
+-----------------------------------------+
| China                                   | 
+-----------------------------------------+
SELECT HEX(CAST('China' AS VARBINARY));

O seguinte resultado é retornado:

+----------------------------------+
| HEX(CAST('China' AS VARBINARY))  |
+----------------------------------+
|  4368696E61                      | 
+----------------------------------+
SELECT CRC32(CAST('China' AS VARBINARY));

O seguinte resultado é retornado:

+------------------------------------+
| CRC32(CAST('China' AS VARBINARY))  |
+------------------------------------+
| 2704207136                         | 
+------------------------------------+
SELECT HEX(COMPRESS(CAST('China' AS VARBINARY)));               

O seguinte resultado é retornado:

+--------------------------------------------+
| HEX(COMPRESS(CAST('China' AS VARBINARY)))  |
+--------------------------------------------+
|  05000000789C73CEC8CC4B0400056C01E4        |
+--------------------------------------------+
SELECT HEX(AES_ENCRYPT_MY('China', 'key_string'));

O seguinte resultado é retornado:

+-------------------------------------------------------+
|HEX(AES_ENCRYPT_MY('China', 'key_string'))             |
+-------------------------------------------------------+
|CF3AB34E18CD73CE37D46AD2588BA258                       | 
+-------------------------------------------------------+
SELECT HEX(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'));

O seguinte resultado é retornado:

+-------------------------------------------------------+
|HEX(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'))   |
+-------------------------------------------------------+
| 6C5CB5E59E3EA58E58CFBE3C76BFBECA                      |
+-------------------------------------------------------+
SELECT HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'),'0123'));

O seguinte resultado é retornado:

+-----------------------------------------------------------------------------+
| HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'),'0123'))    |
+-----------------------------------------------------------------------------+
|   4368696E61                                                                |
+-----------------------------------------------------------------------------+
SELECT HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'), '0123'));

Saída:

+-----------------------------------------------------------------------------+
| HEX(AES_DECRYPT(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'),'0123'))   |
+-----------------------------------------------------------------------------+
| 4368696E61                                                                  |
+-----------------------------------------------------------------------------+

AES_DECRYPT_MY

Importante

A função AES_DECRYPT_MY é compatível com MySQL. Use-a para descriptografar dados criptografados no MySQL. Requer AnalyticDB for MySQL V3.1.10.0 ou posterior.

AES_DECRYPT_MY(VARBINARY X, VARCHAR Y)

Descriptografa X usando AES com Y como chave.

Exemplo:

SELECT CAST(AES_DECRYPT_MY(UNHEX('CF3AB34E18CD73CE37D46AD2588BA258'), 'key_string') AS CHAR);

Saída:

+----------------------------------------------------------------------------------------+
| CAST(AES_DECRYPT_MY(UNHEX('CF3AB34E18CD73CE37D46AD2588BA258'),'key_string') AS CHAR)  |
+----------------------------------------------------------------------------------------+
| China                                                                                  |
+----------------------------------------------------------------------------------------+

AES_ENCRYPT

AES_ENCRYPT(VARBINARY X, VARCHAR Y)

Criptografa X usando AES com Y como chave.

Exemplo:

SELECT HEX(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'));

Saída:

+-------------------------------------------------------+
| HEX(AES_ENCRYPT(CAST('China' AS VARBINARY), '0123'))  |
+-------------------------------------------------------+
| 6C5CB5E59E3EA58E58CFBE3C76BFBECA                      |
+-------------------------------------------------------+

AES_ENCRYPT_MY

Importante

A função AES_ENCRYPT_MY é compatível com MySQL. Dados criptografados com esta função podem ser descriptografados no MySQL. Requer AnalyticDB for MySQL V3.1.10.0 ou posterior.

AES_ENCRYPT_MY(VARBINARY X, VARCHAR Y)

Criptografa X usando AES com Y como chave.

Exemplo:

SELECT HEX(AES_ENCRYPT_MY('China', 'key_string'));

Saída:

+--------------------------------------------+
| HEX(AES_ENCRYPT_MY('China', 'key_string')) |
+--------------------------------------------+
| CF3AB34E18CD73CE37D46AD2588BA258           |
+--------------------------------------------+

CHAR_LENGTH

CHAR_LENGTH(VARBINARY X)

Retorna o comprimento de X medido em caracteres.

Exemplo:

SELECT CHAR_LENGTH(CAST('ABC' AS VARBINARY));

Saída:

+---------------------------------------+
| CHAR_LENGTH(CAST('ABC' AS VARBINARY)) |
+---------------------------------------+
| 3                                     |
+---------------------------------------+

COMPRESS

COMPRESS(VARBINARY X)

Compacta X e retorna o resultado como string binária. Use HEX() para exibir o resultado como texto legível.

Exemplo:

SELECT HEX(COMPRESS(CAST('China' AS VARBINARY)));

Saída:

+--------------------------------------------+
| HEX(COMPRESS(CAST('China' AS VARBINARY)))  |
+--------------------------------------------+
| 05000000789C73CEC8CC4B0400056C01E4         |
+--------------------------------------------+

CRC32

CRC32(VARBINARY X)

Retorna o código de verificação cíclica de redundância (CRC) de X.

Exemplo:

SELECT CRC32(CAST('China' AS VARBINARY));

Saída:

+------------------------------------+
| CRC32(CAST('China' AS VARBINARY))  |
+------------------------------------+
| 2704207136                         |
+------------------------------------+

ENCRYPT

ENCRYPT(VARBINARY X, VARCHAR Y)

Criptografa X com Y como valor de salt.

Exemplo:

SELECT ENCRYPT('ABDABC123', 'KEY');

Saída:

+-----------------------------+
| ENCRYPT('ABDABC123','KEY')  |
+-----------------------------+
| kezazmcIo.aCw               |
+-----------------------------+

FROM_BASE64

FROM_BASE64(VARBINARY X)

Decodifica a string X codificada em Base64 e retorna o resultado.

Exemplo:

SELECT FROM_BASE64(TO_BASE64(CAST('abc' AS VARBINARY)));

Saída:

+--------------------------------------------------+
| FROM_BASE64(TO_BASE64(CAST('abc' AS VARBINARY))) |
+--------------------------------------------------+
| abc                                              |
+--------------------------------------------------+

GUNZIP

Importante

Requer AnalyticDB for MySQL V3.1.9.3 ou posterior.

GUNZIP(VARBINARY X)

Descompacta X no formato GZIP e retorna a string binária resultante.

Exemplo:

SELECT GUNZIP(GZIP(CAST('China' AS VARBINARY)));

Saída:

+------------------------------------------+
| GUNZIP(GZIP(CAST('China' AS VARBINARY))) |
+------------------------------------------+
| China                                    |
+------------------------------------------+

GZIP

Importante

Requer AnalyticDB for MySQL V3.1.9.3 ou posterior.

GZIP(VARBINARY X)

Compacta X no formato GZIP e retorna o resultado como string binária. Use HEX() para exibir o resultado como texto legível.

Exemplo:

SELECT HEX(GZIP(CAST('China' AS VARBINARY)));

Saída:

+----------------------------------------------------------+
| HEX(GZIP(CAST('China' AS VARBINARY)))                    |
+----------------------------------------------------------+
| 1F8B080000000000000073CEC8CC4B040020ED2EA105000000       |
+----------------------------------------------------------+

HEX

HEX(VARBINARY X)

Converte X para uma string hexadecimal.

Exemplo:

SELECT HEX(CAST('China' AS VARBINARY));

Saída:

+----------------------------------+
| HEX(CAST('China' AS VARBINARY))  |
+----------------------------------+
| 4368696E61                       |
+----------------------------------+

LEFT

LEFT(VARBINARY X, BIGINT Y)
LEFT(VARBINARY X, DOUBLE Y)

Retorna os Y caracteres mais à esquerda de X.

Exemplo:

SELECT LEFT(CAST('China' AS VARBINARY), 1000);

Saída:

+-----------------------------------------+
| LEFT(CAST('China' AS VARBINARY), 1000)  |
+-----------------------------------------+
| China                                   |
+-----------------------------------------+

LENGTH

LENGTH(VARBINARY X)

Retorna o comprimento de X medido em bytes.

Exemplo:

SELECT LENGTH(CAST('ABC' AS VARBINARY));

Saída:

+----------------------------------+
| LENGTH(CAST('ABC' AS VARBINARY)) |
+----------------------------------+
| 3                                |
+----------------------------------+

LOWER

LOWER(VARBINARY X)

Retorna X em letras minúsculas.

Exemplo:

SELECT LOWER(CAST('ABC' AS VARBINARY));

Saída:

+---------------------------------+
| LOWER(CAST('ABC' AS VARBINARY)) |
+---------------------------------+
| abc                             |
+---------------------------------+

LPAD

LPAD(VARBINARY X, BIGINT Y, VARCHAR Z)
LPAD(VARBINARY X, DOUBLE Y, VARCHAR Z)

Preenche X à esquerda com Z até um comprimento total de Y caracteres. Se X for maior que Y caracteres, o resultado será truncado para Y caracteres.

Exemplo:

SELECT HEX(LPAD(CAST('China' AS VARBINARY), 7, '-'));

Saída:

+------------------------------------------------+
| HEX(LPAD(CAST('China' AS VARBINARY), 7, '-'))  |
+------------------------------------------------+
| 2D2D4368696E61                                 |
+------------------------------------------------+

LTRIM

LTRIM(VARBINARY X)

Remove espaços à esquerda de X.

Exemplo:

SELECT LTRIM(CAST('  China  ' AS VARBINARY));

Saída:

+----------------------------------------+
| LTRIM(CAST('  China  ' AS VARBINARY))  |
+----------------------------------------+
| China                                  |
+----------------------------------------+

MD5

MD5(VARBINARY X)

Retorna o hash MD5 de X.

Exemplo:

SELECT MD5(CAST('China' AS VARBINARY));

Saída:

+----------------------------------+
| MD5(CAST('China' AS VARBINARY))  |
+----------------------------------+
| ae54a5c026f31ada088992587d92cb3a |
+----------------------------------+

ORD

ORD(VARBINARY X)

Retorna o código do caractere mais à esquerda de X quando esse caractere é multibyte.

Exemplo:

SELECT ORD(CAST('China' AS VARBINARY));

Saída:

+----------------------------------+
| ORD(CAST('China' AS VARBINARY))  |
+----------------------------------+
| 67                               |
+----------------------------------+

REPEAT

REPEAT(VARBINARY X, DOUBLE Y)
REPEAT(VARBINARY X, BIGINT Y)

Retorna X repetido Y vezes.

Exemplo:

SELECT HEX(REPEAT(CAST('China' AS VARBINARY), 1));

Saída:

+---------------------------------------------+
| HEX(REPEAT(CAST('China' AS VARBINARY), 1))  |
+---------------------------------------------+
| 4368696E61                                  |
+---------------------------------------------+

REVERSE

REVERSE(VARBINARY X)

Retorna X com os caracteres em ordem inversa.

Exemplo:

SELECT HEX(REVERSE(CAST('China' AS VARBINARY)));

Saída:

+-------------------------------------------+
| HEX(REVERSE(CAST('China' AS VARBINARY)))  |
+-------------------------------------------+
| 616E696843                                |
+-------------------------------------------+

RIGHT

RIGHT(VARBINARY X, BIGINT Y)
RIGHT(VARBINARY X, DOUBLE Y)

Retorna os Y caracteres mais à direita de X.

Exemplo:

SELECT HEX(RIGHT(CAST('China' AS VARBINARY), 1));

Saída:

+--------------------------------------------+
| HEX(RIGHT(CAST('China' AS VARBINARY), 1))  |
+--------------------------------------------+
| 61                                         |
+--------------------------------------------+

RPAD

RPAD(VARBINARY X, BIGINT Y, VARCHAR Z)
RPAD(VARBINARY X, DOUBLE Y, VARCHAR Z)

Preenche X à direita com Z até um comprimento total de Y caracteres. Se X for maior que Y caracteres, o resultado será truncado para Y caracteres.

Exemplo:

SELECT HEX(RPAD(CAST('China' AS VARBINARY), 4.7, 'x'));

Saída:

+--------------------------------------------------+
| HEX(RPAD(CAST('China' AS VARBINARY), 4.7, 'x'))  |
+--------------------------------------------------+
| 4368696E61                                       |
+--------------------------------------------------+

RTRIM

RTRIM(VARBINARY X)

Remove espaços à direita de X.

Exemplo:

SELECT RTRIM(CAST('  China  ' AS VARBINARY));

Saída:

+----------------------------------------+
| RTRIM(CAST('  China  ' AS VARBINARY))  |
+----------------------------------------+
|   China                                |
+----------------------------------------+

SHA1

SHA1(VARBINARY X)

Retorna o checksum SHA-1 de X.

Exemplo:

SELECT SHA1(CAST('China' AS VARBINARY));

Saída:

+------------------------------------------+
| SHA1(CAST('China' AS VARBINARY))         |
+------------------------------------------+
| d2eaf2aa1512d6596e0a5bae633537c6b8e779a3 |
+------------------------------------------+

SHA2

SHA2(VARBINARY X, INTEGER Y)
SHA2(VARBINARY X, VARCHAR Y)

Retorna o checksum SHA-2 de X. Y especifica o comprimento de bits da saída e deve ser um dos seguintes: 224, 256, 384, 512 ou 0. Variantes suportadas: SHA-224, SHA-256, SHA-384 e SHA-512.

Exemplo:

SELECT SHA2(CAST('China' AS VARBINARY), 256);

Saída:

+------------------------------------------------------------------+
| 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)

Retorna uma substring de X começando na posição Y. Z especifica o número de caracteres a serem retornados.

TO_BASE64

TO_BASE64(VARBINARY X)

Codifica X no formato Base64 e retorna o resultado.

Exemplo:

SELECT TO_BASE64(CAST('China' AS VARBINARY));

Saída:

+----------------------------------------+
| TO_BASE64(CAST('China' AS VARBINARY))  |
+----------------------------------------+
| Q2hpbmE=                               |
+----------------------------------------+

TRIM

TRIM(VARBINARY X)

Remove espaços à esquerda e à direita de X.

Exemplo:

SELECT TRIM(CAST('  China  ' AS VARBINARY));

Saída:

+---------------------------------------+
| TRIM(CAST('  China  ' AS VARBINARY))  |
+---------------------------------------+
| China                                 |
+---------------------------------------+

UNCOMPRESS

UNCOMPRESS(VARBINARY X)

Descompacta X, que deve ter sido compactado pela função COMPRESS().

Exemplo:

SELECT UNCOMPRESS(COMPRESS(CAST('China' AS VARBINARY)));

Saída:

+---------------------------------------------------+
| UNCOMPRESS(COMPRESS(CAST('China' AS VARBINARY)))  |
+---------------------------------------------------+
| China                                             |
+---------------------------------------------------+

UNCOMPRESSED_LENGTH

UNCOMPRESSED_LENGTH(VARBINARY X)

Retorna o comprimento de X antes da compactação.

Exemplo:

SELECT UNCOMPRESSED_LENGTH(COMPRESS(CAST('China' AS VARBINARY)));

Saída:

+------------------------------------------------------------+
| UNCOMPRESSED_LENGTH(COMPRESS(CAST('China' AS VARBINARY)))  |
+------------------------------------------------------------+
| 5                                                          |
+------------------------------------------------------------+

UNHEX

UNHEX(VARBINARY X)

Interpreta pares de caracteres em X como valores hexadecimais, converte-os em bytes e retorna o resultado como string binária. Retorna NULL se a entrada contiver caracteres fora do intervalo hexadecimal (0–9, A–F).

Exemplo:

SELECT UNHEX(CAST('China' AS VARBINARY));

Saída:

+------------------------------------+
| UNHEX(CAST('China' AS VARBINARY))  |
+------------------------------------+
| NULL                               |
+------------------------------------+

O resultado é NULL porque 'China' contém caracteres fora do intervalo hexadecimal (0–9, A–F).

UNZIP

Importante

Requer AnalyticDB for MySQL V3.1.9.3 ou posterior.

UNZIP(VARBINARY X)

Descompacta X no formato ZIP e retorna a string binária resultante.

Exemplo:

SELECT UNZIP(ZIP(CAST('China' AS VARBINARY)));

Saída:

+----------------------------------------+
| UNZIP(ZIP(CAST('China' AS VARBINARY))) |
+----------------------------------------+
| China                                  |
+----------------------------------------+

UPPER

UPPER(VARBINARY X)

Retorna X em letras maiúsculas.

Exemplo:

SELECT UPPER(CAST('abc' AS VARBINARY));

Saída:

+---------------------------------+
| UPPER(CAST('abc' AS VARBINARY)) |
+---------------------------------+
| ABC                             |
+---------------------------------+

ZIP

Importante

Requer AnalyticDB for MySQL V3.1.9.3 ou posterior.

ZIP(VARBINARY X)

Compacta X no formato ZIP e retorna o resultado como string binária. Use HEX() para exibir o resultado como texto legível.

Exemplo:

SELECT UNZIP(ZIP(CAST('China' AS VARBINARY)));

Saída:

+----------------------------------------+
| UNZIP(ZIP(CAST('China' AS VARBINARY))) |
+----------------------------------------+
| China                                  |
+----------------------------------------+