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
, \t
e
.
- 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".