Compartilhar via


BASE64_ENCODE (Transact-SQL)

Aplica-se a: SQL Server 2025 (17.x) Banco de Dados SQL do AzurePonto de extremidade de análise deSQL da Instância Gerenciada de SQL do Azureno Microsoft Fabric e Warehouse noBanco de Dados SQL do Microsoft Fabric no Microsoft Fabric

BASE64_ENCODE converte o valor de uma expressão varbinary em uma expressão varchar codificada em Base64.

Convenções de sintaxe de Transact-SQL

Sintaxe

BASE64_ENCODE (expression [ , url_safe ] )

Argumentos

expressão

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

url_safe

Literal ou expressão de inteiro opcional, que especifica se a saída da operação de codificação deve ser segura para URL. Qualquer número diferente de 0 é avaliado como true. O valor padrão é 0.

Tipos de retorno

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

Comentários

A cadeia de caracteres codificada usa o alfabeto da Tabela RFC 4648 1 e pode incluir preenchimento. A saída segura de URL usa o alfabeto Base64URL da Tabela RFC 4648 2 e não inclui preenchimento. Essa função não adiciona novos caracteres de linha.

Em cada caso, a ordenação padrão do banco de dados é usada. Para obter mais informações sobre as ordenações com suporte no Microsoft Fabric, confira Tabelas.

Se você definir url_safe como true, a cadeia de caracteres Base64URL gerada não será compatível com os decodificadores XML e JSON Base64 do SQL Server.

Exemplos

a. BASE64_ENCODE padrão

O exemplo a seguir retorna o valor codificado em Base64 para o &copy; símbolo.

SELECT BASE64_ENCODE(0xA9) AS "Encoded &copy; symbol";

Veja a seguir o conjunto de resultados.

qQ==

B. BASE64_ENCODE uma cadeia de caracteres

No exemplo a seguir, uma cadeia de caracteres é codificada em Base64. Primeiro, você deve converter a cadeia de caracteres em um varbinary.

SELECT BASE64_ENCODE(CAST ('hello world' AS VARBINARY));

Veja a seguir o conjunto de resultados.

aGVsbG8gd29ybGQ=

C. BASE64_ENCODE padrão vs url_safe

No exemplo a seguir, a primeira SELECT instrução não especifica url_safe; no entanto, a segunda SELECT instrução especifica url_safe.

SELECT BASE64_ENCODE(0xCAFECAFE);

Veja a seguir o conjunto de resultados.

yv7K/g==

O exemplo a seguir especifica que a saída é segura para URL.

SELECT BASE64_ENCODE(0xCAFECAFE, 1);

Veja a seguir o conjunto de resultados.

yv7K_g