BASE64_ENCODE (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_ENCODE converte o valor de um varbinary em um varchar codificado 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 | 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)
- Varchar(max) se a entrada for varbinary(max)
- Varchar(max) se a entrada for varchar(n) em que n > 6000
- Se a expressão de entrada for
null
, a saída seránull
.
Comentários
O alfabeto de cadeia de caracteres codificado é o da RFC 4648 Tabela 1 e pode adicionar preenchimento. A saída segura de URL usa o alfabeto base64url da RFC 4648 Tabela 2 e não adiciona 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 url_safe
for true, a cadeia de caracteres base64url gerada será incompatível com os decodificadores XML e JSON base64 do SQL Server.
Exemplos
a. BASE64_ENCODE padrão
No exemplo a seguir, varbinary simples é codificado em base64.
SELECT Base64_Encode(0xA9) as "Encoded © symbol";
Veja a seguir o conjunto de resultados.
------------
qQ==
(1 row affected)
B. BASE64_ENCODE uma cadeia de caracteres
No exemplo a seguir, uma cadeia de caracteres é codificada em base64. A cadeia de caracteres deve primeiro ser convertida em um varbinary.
SELECT BASE64_ENCODE (CAST ('hello world' as varbinary))
Veja a seguir o conjunto de resultados.
------------
aGVsbG8gd29ybGQ=
(1 row affected)
C. BASE64_ENCODE padrão vs url_safe
No exemplo a seguir, a primeira seleção não especifica url_safe
. No entanto, a segunda seleção especifica url_safe
.
SELECT BASE64_ENCODE(0xCAFECAFE)
Veja a seguir o conjunto de resultados.
------------
yv7K/g==
(1 row affected)
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
(1 row affected)