Partilhar via


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==');

Este é 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==')

Este é 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')

Este é 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!!')

Este é o conjunto de resultados.

Msg 9803, Level 16, State 20, Line 223
Invalid data for type "Base64Decode".

Próximas etapas