Todos os produtos
Search
Central de documentação

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

Última atualização: Jun 27, 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, alguns clientes analisam 'China' como 0x4368696E61.

Visão geral das funções

Criptografia e descriptografia

Função

Descrição

Tipo de retorno

AES_DECRYPT(X, Y)

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

VARBINARY

AES_DECRYPT_MY(X, Y)

Descriptografa X com AES usando 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 com AES usando Y como chave

VARBINARY

AES_ENCRYPT_MY(X, Y)

Criptografa X com AES usando Y como chave. Compatível com MySQL — permite descriptografar os dados 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; exige compactação prévia com COMPRESS()

BLOB

UNCOMPRESSED_LENGTH(X)

Retorna o comprimento original 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 em 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 em Base64 e retorna o resultado

BLOB

TO_BASE64(X)

Codifica X em Base64 e retorna o resultado

VARCHAR

Hashing e checksums

Função

Descrição

Tipo de retorno

MD5(X)

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

VARCHAR

SHA1(X)

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

VARCHAR

SHA2(X, Y)

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

VARCHAR

CRC32(X)

Retorna o código CRC (cyclic redundancy check) de X

LONG

Manipulação de strings

Função

Descrição

Tipo de retorno

CHAR_LENGTH(X)

Retorna o comprimento de X em caracteres

LONG

LENGTH(X)

Retorna o comprimento de X 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 a partir da posição Y. Z define o comprimento

VARBINARY

LPAD(X, Y, Z)

Preenche X à esquerda com Z até totalizar Y caracteres. Trunca X para Y caracteres se X for maior que Y

VARBINARY

RPAD(X, Y, Z)

Preenche X à direita com Z até totalizar Y caracteres. Trunca X para Y caracteres se X for maior que Y

VARBINARY

LTRIM(X)

Remove espaços iniciais de X

BLOB

RTRIM(X)

Remove espaços finais de X

BLOB

TRIM(X)

Remove espaços iniciais e finais de X

BLOB

LOWER(X)

Retorna X em minúsculas

VARBINARY

UPPER(X)

Retorna X em maiúsculas

VARBINARY

REPEAT(X, Y)

Retorna X repetido Y vezes

VARBINARY

REVERSE(X)

Retorna X com caracteres em ordem inversa

VARBINARY

ORD(X)

Retorna o código do caractere mais à esquerda de X quando este for multibyte

LONG

Observações de uso

  • Saída específica do cliente: Os valores de retorno podem variar 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 versus AES_ENCRYPT_MY: Use AES_ENCRYPT quando tanto a criptografia quanto a descriptografia ocorrerem no AnalyticDB for MySQL. Use AES_ENCRYPT_MY quando os dados criptografados precisarem ser descriptografados no MySQL ou ao descriptografar dados originalmente 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 com AES usando Y como chave.

Exemplo:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

Resultado retornado:

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

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 com AES usando 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 com AES usando 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. Permite descriptografar os dados criptografados com esta função no MySQL. Requer AnalyticDB for MySQL V3.1.10.0 ou posterior.

AES_ENCRYPT_MY(VARBINARY X, VARCHAR Y)

Criptografa X com AES usando 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 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 CRC (cyclic redundancy check) 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 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 em 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 em bytes.

Exemplo:

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

Saída:

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

LOWER

LOWER(VARBINARY X)

Retorna X em 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é totalizar 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 iniciais 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 este for 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 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é totalizar 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 finais 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 define 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 a partir da posição Y. Z define o número de caracteres a retornar.

TO_BASE64

TO_BASE64(VARBINARY X)

Codifica X em 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 iniciais e finais de X.

Exemplo:

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

Saída:

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

UNCOMPRESS

UNCOMPRESS(VARBINARY X)

Descompacta X; exige compactação prévia com a 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 original 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 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                                  |
+----------------------------------------+