Condividi tramite


BASE64_ENCODE (Transact-SQL)

Si applica a: Endpoint di analisi SQL di Sql Server 2025 (17.x) del database SQL diAzurein Microsoft Fabric e warehouse neldatabase SQL di Microsoft Fabric in Microsoft Fabric

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

Convenzioni relative alla sintassi Transact-SQL

Sintassi

BASE64_ENCODE (expression [ , url_safe ] )

Argomenti

expression

Espressione di tipo varbinary(n) o varbinary(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) se l'input è varbinary(n) dove n<= 6000.
  • varchar(max) se l'input è varbinary(n) dove n> 6000.
  • varchar(max) se l'input è varbinary(max).
  • Se l'espressione di input è NULL, l'output è NULL.

Osservazioni:

La stringa codificata usa l'alfabeto della tabella RFC 4648 1 e potrebbe includere spaziatura interna. L'output indipendente dall'URL usa l'alfabeto Base64URL della tabella 4648 RFC 2 e non include 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 si imposta su 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 viene restituito il valore con codifica Base64 per il &copy; simbolo.

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

Il set di risultati è il seguente.

qQ==

B. BASE64_ENCODE una stringa

Nell'esempio seguente una stringa è codificata in Base64. È prima necessario eseguire il cast della stringa in un varbinary.

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

Il set di risultati è il seguente.

aGVsbG8gd29ybGQ=

C. BASE64_ENCODE predefinita e url_safe

Nell'esempio seguente la prima SELECT istruzione non specifica url_safe; tuttavia, la seconda SELECT istruzione specifica url_safe.

SELECT BASE64_ENCODE(0xCAFECAFE);

Il set di risultati è il seguente.

yv7K/g==

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

SELECT BASE64_ENCODE(0xCAFECAFE, 1);

Il set di risultati è il seguente.

yv7K_g