Condividi tramite


BASE64_DECODE (Transact-SQL)

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

BASE64_DECODE converte un valore varchar con codifica Base64 nel varbinary corrispondente.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

BASE64_DECODE(expression)

Argomenti

expression

Espressione di tipo varchar (n | max).

Tipi restituiti

  • Varbinary(8000).
  • Varbinary(max) se l'input è varchar(max).
  • Se l'espressione di input è null, l'output è Null.

Osservazioni:

L'alfabeto della stringa codificata deve essere quello della tabella RFC 4648 1 e può includere spaziatura interna, anche se la spaziatura interna non è obbligatoria. Viene accettato anche l'alfabeto indipendente dall'URL specificato nella tabella RFC 4648 Tabella 2 . Questa funzione ignora gli spazi vuoti: \n, \r, \te .

  • Quando l'input contiene caratteri non contenuti negli alfabeti standard o indipendenti dagli URL specificati da RFC 4648, la funzione restituisce l'errore "Msg 9803, Level 16, State 20, Line 15, Invalid data for type "Base64Decode"".
  • Se i dati hanno caratteri validi, ma formattati in modo non corretto, la funzione restituisce l'errore Msg 9803, State 21.
  • Se l'input contiene più di due caratteri di riempimento o caratteri di riempimento seguiti da un input aggiuntivo valido, la funzione restituisce l'errore Msg 9803, State 23.

Esempi

R. Standard BASE64_DECODE

Nell'esempio seguente la stringa con codifica Base64 viene decodificata nuovamente in varbinary.

SELECT BASE64_DECODE ('qQ==');

Il set di risultati è il seguente.

-------------
0xA9

(1 row affected)

B. BASE64_DECODE una stringa base64 standard

Nell'esempio seguente la stringa è decodificata in base64. Si noti che la stringa contiene caratteri = URL-unsafe e /.

SELECT BASE64_DECODE('yv7K/g==')

Il set di risultati è il seguente.

------------  
0xCAFECAFE

(1 row affected)

C. BASE64_DECODE stringa varchar url_safe base64

A differenza dell'esempio B, questa stringa base64 di esempio è stata codificata usando la tabella 4648 RFC 2 (url_safe), ma può essere decodificata allo stesso modo dell'esempio B.

SELECT BASE64_DECODE('yv7K_g')

Il set di risultati è il seguente.

------------  
0xCAFECAFE
(1 row affected)

D. BASE64_DECODE varchar contiene caratteri non nell'alfabeto base64

Questo esempio contiene caratteri non validi in base64.

SELECT BASE64_DECODE('qQ!!')

Il set di risultati è il seguente.

Msg 9803, Level 16, State 20, Line 223
Invalid data for type "Base64Decode".

Passaggi successivi