Condividi tramite


BASE64_ENCODE (Transact-SQL)

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

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

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:

L'alfabeto stringa codificato è quello di RFC 4648 Tabella 1 e potrebbe 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 viene restituito il valore con codifica Base64 per il simbolo ©.

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

Il set di risultati è il seguente.

qQ==

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=

C. BASE64_ENCODE predefinita e url_safe

Nell'esempio seguente, la prima selezione non specifica url_safe; Tuttavia, la seconda selezione 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