Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy do:Azure SQL DatabaseSQL analytics endpoint oraz Warehouse in Microsoft FabricSQL database in Microsoft Fabric
BASE64_DECODE Konwertuje wyrażenie varchar zakodowane w formacie base64 na odpowiadające wyrażenie varbinary .
Transact-SQL konwencje składni
Składnia
BASE64_DECODE ( expression )
Arguments
wyrażenie
Wyrażenie typu varchar(n) lub varchar(max).
Typy zwracane
- varbinary(8000), jeśli dane wejściowe są varchar(n).
- varbinary(max), jeśli dane wejściowe to varchar(max).
- Jeśli wyrażenie wejściowe to
NULL, dane wyjściowe toNULL.
Uwagi
Alfabet zakodowanego ciągu musi mieć wartość RFC 4648 Table 1 i może zawierać dopełnienie, chociaż dopełnienie nie jest wymagane. Akceptowany jest również bezpieczny alfabet url określony w tabeli RFC 4648 Table 2 . Ta funkcja ignoruje znaki odstępów: \n, , \r\ti .
Jeśli dane wejściowe zawierają znaki, które nie znajdują się w standardowych lub bezpiecznych alfabetach adresów URL określonych przez RFC 4648, funkcja zwraca następujący błąd:
Msg 9803, Level 16, State 20, Line 15, Invalid data for type "Base64Decode"Jeśli dane mają prawidłowe znaki, ale niepoprawnie sformatowane, funkcja zwraca błąd
Msg 9803, State 21.Jeśli dane wejściowe zawierają więcej niż dwa znaki wypełnienia lub znaki wypełnienia, a następnie dodatkowe prawidłowe dane wejściowe, funkcja zwraca błąd
Msg 9803, State 23.
Przykłady
A. BASE64_DECODE w warstwie Standardowa
W poniższym przykładzie ciąg zakodowany w formacie base64 jest dekodowany z powrotem do wartości varbinary.
SELECT BASE64_DECODE('qQ==');
Oto zestaw wyników.
0xA9
B. BASE64_DECODE standardowy ciąg base64
W poniższym przykładzie ciąg jest zdekodowany w formacie base64. Zwróć uwagę, że ciąg zawiera niebezpieczne znaki = adresu URL i /.
SELECT BASE64_DECODE('yv7K/g==');
Oto zestaw wyników.
0xCAFECAFE
C. ciąg BASE64_DECODE varchar url_safe base64
W przeciwieństwie do przykładu B ten przykładowy ciąg base64 został zakodowany przy użyciu tabeli RFC 4648 Table 2 (url_safe), ale można dekodować tak samo jak w przykładzie B.
SELECT BASE64_DECODE('yv7K_g');
Oto zestaw wyników.
0xCAFECAFE
D. BASE64_DECODE varchar zawiera znaki, które nie znajdują się w alfabecie base64
Ten przykład zawiera znaki, które nie są prawidłowymi znakami base64.
SELECT BASE64_DECODE('qQ!!');
Oto zestaw wyników.
Msg 9803, Level 16, State 20, Line 223
Invalid data for type "Base64Decode".