BASE64_ENCODE (Transact-SQL)

Si applica a: database SQL di Azure endpoint di analisi SQL e Warehouse in Microsoft Fabric

BASE64_ENCODE converte il valore di un varbinary in un valore varchar con codifica Base64.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

BASE64_ENCODE (expression [, url_safe])

Argomenti

expression

Espressione di tipo varbinary (n | max)

url_safe

Valore letterale intero facoltativo o espressione, che specifica se l'output dell'operazione di codifica deve essere indipendente dall'URL. Qualsiasi numero diverso da 0 restituisce true. Il valore predefinito è 0.

Tipi restituiti

  • Varchar(8000)
  • Varchar(max) se l'input è varbinary(max)
  • Varchar(max) se l'input è varchar(n) dove n > 6000
  • Se l'espressione di input è null, l'output è null.

Osservazioni:

L'alfabeto stringa codificato è quello della tabella 1 RFC 4648 e può aggiungere spaziatura interna. L'output indipendente dall'URL usa l'alfabeto base64url della tabella 4648 RFC 4648 2 e non aggiunge spaziatura interna. Questa funzione non aggiunge nuovi caratteri di riga.

In ogni caso, vengono usate le regole di confronto predefinite del database. Per altre informazioni sulle regole di confronto supportate in Microsoft Fabric, vedere Tabelle.

Se url_safe è true, la stringa base64url generata non è compatibile con i decodificatori XML e JSON base64 di SQL Server.

Esempi

R. Standard BASE64_ENCODE

Nell'esempio seguente, la funzione varbinary semplice è codificata in base64.

SELECT Base64_Encode(0xA9) as "Encoded © symbol";

Il set di risultati è il seguente.

------------  
qQ==
(1 row affected)

B. BASE64_ENCODE una stringa

Nell'esempio seguente una stringa è codificata in base64. Per prima cosa, è necessario eseguire il cast della stringa in un varbinary.

SELECT BASE64_ENCODE (CAST ('hello world' as varbinary))

Il set di risultati è il seguente.

------------  
aGVsbG8gd29ybGQ=
(1 row affected)

C. BASE64_ENCODE predefinita e url_safe

Nell'esempio seguente, la prima selezione non specifica url_safe, ma la seconda selezione specifica url_safe.

SELECT BASE64_ENCODE(0xCAFECAFE)

Il set di risultati è il seguente.

------------  
yv7K/g==
(1 row affected)

Nell'esempio seguente viene specificato che l'output è indipendente dall'URL.

SELECT BASE64_ENCODE(0xCAFECAFE, 1);

Il set di risultati è il seguente.

------------  
yv7K_g
(1 row affected)

Passaggi successivi