Partilhar via


BASE64_DECODE (Transact-SQL)

Aplica-se a: SQL Server 2025 (17.x) Azure SQL Database AzureSQL ManagedInstance SQL Analytics endpoint em Microsoft Fabric e Warehouse em Microsoft Fabric Basede dados SQL no Microsoft Fabric

BASE64_DECODE converte uma expressão varchar codificada em Base64 na expressão varbinária correspondente.

Transact-SQL convenções de sintaxe

Sintaxe

BASE64_DECODE ( expression )

Arguments

expressão

Uma expressão do tipo varchar(n) ou varchar(max).

Tipos de devolução

  • varbinary(8000) se a entrada for varchar(n).
  • varbinary(max) se a entrada for varchar(max).
  • Se a expressão de entrada for NULL, a saída será NULL.

Observações

O alfabeto da cadeia de caracteres codificada deve ser o da RFC 4648 Tabela 1 e pode incluir preenchimento, embora o preenchimento não seja necessário. O alfabeto seguro para URL especificado na Tabela 2 do RFC 4648 também é aceito. Esta função ignora caracteres de espaço em branco: \n, \r, \te .

  • Quando a entrada contém caracteres não contidos nos alfabetos padrão ou seguros para URL especificados pela RFC 4648, a função retorna o seguinte erro:

    Msg 9803, Level 16, State 20, Line 15, Invalid data for type "Base64Decode"
    
  • Se os dados tiverem caracteres válidos mas estiverem formatados incorretamente, a função devolve erro Msg 9803, State 21.

  • Se a entrada contiver mais de dois caracteres de enchimento ou caracteres de enchimento seguidos de uma entrada válida extra, a função devolve erro Msg 9803, State 23.

Examples

A. BASE64_DECODE padrão

No exemplo seguinte, a cadeia codificada em Base64 é decodificada novamente para varbinary.

SELECT BASE64_DECODE('qQ==');

Aqui está o conjunto de resultados.

0xA9

B. BASE64_DECODE uma corda Base64 padrão

No exemplo seguinte, a cadeia é decodificada em Base64. Observe que a cadeia de caracteres contém caracteres = não seguros de URL e /.

SELECT BASE64_DECODE('yv7K/g==');

Aqui está o conjunto de resultados.

0xCAFECAFE

C. BASE64_DECODE varchar url_safe corda Base64

Ao contrário do exemplo B, este exemplo usa a Tabela 2 da RFC 4648 (url_safe) para codificar a cadeia Base64. No entanto, podes decifrá-lo da mesma forma que no exemplo B.

SELECT BASE64_DECODE('yv7K_g');

Aqui está o conjunto de resultados.

0xCAFECAFE

D. BASE64_DECODE varchar contém caracteres que não pertencem ao alfabeto Base64

Este exemplo contém caracteres que não são válidos do Base64.

SELECT BASE64_DECODE('qQ!!');

Aqui está o conjunto de resultados.

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