BASE64_DECODE (Transact-SQL)
Область применения: База данных SQL Azure конечная точка аналитики SQL и хранилище в Microsoft Fabric
BASE64_DECODE преобразует varchar в кодировку Base64 в соответствующий varbinary.
Соглашения о синтаксисе Transact-SQL
Синтаксис
BASE64_DECODE(expression)
Аргументы
выражение
Выражение типа varchar (n | max).
Типы возвращаемых данных
- Varbinary(8000).
- Varbinary(max), если входные данные — varchar(max).
- Если входное выражение равно NULL, выходные данные равно NULL.
Замечания
Алфавит закодированной строки должен быть буквой RFC 4648 Table 1 и может включать заполнение, хотя заполнение не требуется. Url-безопасный алфавит, указанный в RFC 4648 Table 2 , также принимается. Эта функция игнорирует символы пробелов: \n
, \r
, \t
и
.
- Если входные данные содержат символы, не содержащиеся в стандартных или URL-безопасных алфавитах, указанных RFC 4648, функция возвращает ошибку "Msg 9803, Level 16, State 20, Line 15, Invalid data for type Base64Decode".
- Если данные имеют допустимые символы, но неправильно отформатированы, функция возвращает ошибку Msg 9803, state 21.
- Если входные данные содержат более двух символов заполнения или символов заполнения, за которым следует дополнительный допустимый вход, функция возвращает ошибку Msg 9803, State 23.
Примеры
А. Стандартный BASE64_DECODE
В следующем примере строка в кодировке Base64 декодируется обратно в varbinary.
SELECT BASE64_DECODE ('qQ==');
Вот результирующий набор.
-------------
0xA9
(1 row affected)
B. BASE64_DECODE стандартную строку base64
В следующем примере строка декодирована base64. Обратите внимание, что строка содержит небезопасные символы =
URL-адреса и /
.
SELECT BASE64_DECODE('yv7K/g==')
Вот результирующий набор.
------------
0xCAFECAFE
(1 row affected)
C. строка BASE64_DECODE varchar url_safe base64
В отличие от примера B, эта строка base64 была закодирована с помощью RFC 4648 Table 2 (url_safe), но может быть декодирована так же, как и пример B.
SELECT BASE64_DECODE('yv7K_g')
Вот результирующий набор.
------------
0xCAFECAFE
(1 row affected)
D. BASE64_DECODE varchar содержит символы, не содержащиеся в алфавите base64
В этом примере содержатся символы, которые не являются допустимыми символами base64.
SELECT BASE64_DECODE('qQ!!')
Вот результирующий набор.
Msg 9803, Level 16, State 20, Line 223
Invalid data for type "Base64Decode".