Condividi tramite


BASE64_DECODE (Transact-SQL)

Si applica a:Azure SQL DatabaseSQL Analytics endpoint e Warehouse in Microsoft FabricSQL database in Microsoft Fabric

BASE64_DECODE converte un'espressione varchar con codifica Base64 nell'espressione varbinary corrispondente.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

BASE64_DECODE ( expression )

Argomenti

expression

Espressione di tipo varchar(n) o varchar(max).

Tipi restituiti

  • varbinary(8000) se l'input è varchar(n).
  • 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 nell'alfabeto standard o indipendente dall'URL specificato da RFC 4648, la funzione restituisce l'errore seguente:

    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

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

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

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".