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 |
|
Descriptografa X usando o algoritmo Advanced Encryption Standard (AES) com Y como chave |
VARBINARY |
|
|
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 |
|
|
Criptografa X usando AES com Y como chave |
VARBINARY |
|
|
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 |
|
|
Criptografa X com Y como valor de salt |
BLOB |
Compactação e descompactação
|
Função |
Descrição |
Tipo de retorno |
Versão |
|
Compacta X e retorna o resultado como string binária |
VARBINARY |
— |
|
|
Descompacta X, que deve ter sido compactado por |
BLOB |
— |
|
|
Retorna o comprimento de X antes da compactação |
LONG |
— |
|
|
Compacta X no formato GZIP e retorna o resultado como string binária |
VARBINARY |
V3.1.9.3+ |
|
|
Descompacta X no formato GZIP e retorna a string binária resultante |
VARBINARY |
V3.1.9.3+ |
|
|
Compacta X no formato ZIP e retorna o resultado como string binária |
VARBINARY |
V3.1.9.3+ |
|
|
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 |
|
Converte X para uma string hexadecimal |
VARCHAR |
|
|
Interpreta pares de caracteres em X como valores hexadecimais, converte-os em bytes e retorna o resultado como string binária |
VARBINARY |
|
|
Decodifica a string X codificada em Base64 e retorna o resultado |
BLOB |
|
|
Codifica X no formato Base64 e retorna o resultado |
VARCHAR |
Hashing e checksums
|
Função |
Descrição |
Tipo de retorno |
|
Retorna o hash do algoritmo message-digest 5 (MD5) de X |
VARCHAR |
|
|
Retorna o checksum do Secure Hash Algorithm 1 (SHA-1) de X |
VARCHAR |
|
|
Retorna o checksum SHA-2 de X. Y especifica o comprimento em bits: 224, 256, 384, 512 ou 0 |
VARCHAR |
|
|
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 |
|
Retorna o comprimento de X medido em caracteres |
LONG |
|
|
Retorna o comprimento de X medido em bytes |
LONG |
|
|
Retorna os Y caracteres mais à esquerda de X |
BLOB |
|
|
Retorna os Y caracteres mais à direita de X |
VARBINARY |
|
|
Retorna uma substring começando na posição Y. Z especifica o comprimento |
VARBINARY |
|
|
Preenche X à esquerda com Z até um comprimento total de Y caracteres. Trunca X para Y caracteres se X for maior que Y |
VARBINARY |
|
|
Preenche X à direita com Z até um comprimento total de Y caracteres. Trunca X para Y caracteres se X for maior que Y |
VARBINARY |
|
|
Remove espaços à esquerda de X |
BLOB |
|
|
Remove espaços à direita de X |
BLOB |
|
|
Remove espaços à esquerda e à direita de X |
BLOB |
|
|
Retorna X em letras minúsculas |
VARBINARY |
|
|
Retorna X em letras maiúsculas |
VARBINARY |
|
|
Retorna X repetido Y vezes |
VARBINARY |
|
|
Retorna X com os caracteres em ordem inversa |
VARBINARY |
|
|
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,UNZIPeZIPexigem a versão V3.1.9.3 ou posterior. JáAES_DECRYPT_MYeAES_ENCRYPT_MYrequerem 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_ENCRYPTquando tanto a criptografia quanto a descriptografia ocorrerem dentro do AnalyticDB for MySQL. UtilizeAES_ENCRYPT_MYquando 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
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
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
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
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
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
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 |
+----------------------------------------+