BASE64_DECODE (Transact-SQL)
Aplica-se a: Ponto de extremidade de análise de SQL do Banco de Dados SQL do Azure e Warehouse no Microsoft Fabric
BASE64_DECODE converte um varchar codificado em base64 no varbinary correspondente.
Convenções de sintaxe de Transact-SQL
Sintaxe
BASE64_DECODE(expression)
Argumentos
expressão
Uma expressão do tipo varchar (n | max).
Tipos de retorno
- Varbinary(8000).
- Varbinary(max) se a entrada for varchar(max).
- Se a expressão de entrada for nula, a saída será nula.
Comentários
O alfabeto da cadeia de caracteres codificada deve ser o RFC 4648 Tabela 1 e pode incluir preenchimento, embora o preenchimento não seja necessário. O alfabeto seguro da URL especificada no RFC 4648 Tabela 2 também é aceito. Essa função ignora caracteres de espaço em branco: \n
, \r
, \t
e
.
- Quando a entrada contém caracteres não contidos nos alfabetos padrão ou seguros da URL especificada pelo RFC 4648, a função retorna o erro "Msg 9803, Nível 16, Estado 20, Linha 15, Dados inválidos para o tipo "Base64Decode"".
- Se os dados tiverem caracteres válidos, mas formatados incorretamente, a função retornará o erro Msg 9803, Estado 21.
- Se a entrada contiver mais de dois caracteres de preenchimento ou caracteres de preenchimento seguidos de entrada extra válida, a função retornará o erro Msg 9803, Estado 23.
Exemplos
a. Padrão BASE64_DECODE
No exemplo a seguir, a cadeia de caracteres codificada em base64 é decodificada novamente em varbinary.
SELECT BASE64_DECODE ('qQ==');
Veja a seguir o conjunto de resultados.
-------------
0xA9
(1 row affected)
B. BASE64_DECODE uma cadeia de caracteres base64 padrão
No exemplo a seguir, a cadeia de caracteres é decodificada em base64. Observe que a cadeia de caracteres contém caracteres desprotegidos de URL =
e /
.
SELECT BASE64_DECODE('yv7K/g==')
Veja a seguir o conjunto de resultados.
------------
0xCAFECAFE
(1 row affected)
C. Cadeia de caracteres base64 BASE64_DECODE varchar url_safe
Em contraste com o exemplo B, esta cadeia de caracteres base64 de exemplo foi codificada usando RFC 4648 Tabela 2 (url_safe), mas pode ser decodificada da mesma maneira que o exemplo B.
SELECT BASE64_DECODE('yv7K_g')
Veja a seguir o conjunto de resultados.
------------
0xCAFECAFE
(1 row affected)
D. O varchar BASE64_DECODE contém caracteres que não estão no alfabeto base64
Este exemplo contém caracteres que não são caracteres base64 válidos.
SELECT BASE64_DECODE('qQ!!')
Veja a seguir o conjunto de resultados.
Msg 9803, Level 16, State 20, Line 223
Invalid data for type "Base64Decode".