Поделиться через


BASE64_ENCODE (Transact-SQL)

Область применения: База данных SQL Azureконечная точка аналитики SQL и хранилище в Microsoft Fabric

BASE64_ENCODE преобразует значение выражения varbinary в выражение в кодировке Base64 varchar.

Соглашения о синтаксисе Transact-SQL

Синтаксис

BASE64_ENCODE (expression [ , url_safe ] )

Аргументы

выражение

Выражение типа varbinary(n) или varbinary(max).

url_safe

Необязательный целочисленный литерал или выражение, указывающее, должны ли выходные данные операции кодирования быть URL-безопасными. Любое число, отличное 0 от значения true. Значение по умолчанию — 0.

Типы возвращаемых данных

  • varchar(8000), если входные данные varbinary(n) где n<= 6000.
  • varchar(max), если входные данные varbinary(n), где n> 6000.
  • varchar(max), если входные данные varbinary(max).
  • Если входное выражение равноNULL, выходные данные .NULL

Замечания

Закодированный алфавит строки состоит в том, что RFC 4648 Table 1 и может добавить заполнение. Выходные данные, безопасные по URL-адресу, используют алфавит base64url RFC 4648 Table 2 и не добавляют заполнение. Эта функция не добавляет новые символы строки.

В каждом случае используется параметры сортировки базы данных по умолчанию. Дополнительные сведения о поддерживаемых параметрах сортировки в Microsoft Fabric см. в таблицах.

Если url_safe задано значение true, созданная строка base64url несовместима с декодаторами XML и JSON base64 SQL Server.

Примеры

А. Стандартный BASE64_ENCODE

В следующем примере возвращается закодированное значение base64 для символа ©.

SELECT Base64_Encode(0xA9) AS "Encoded © symbol";

Вот результирующий набор.

qQ==

B. BASE64_ENCODE строку

В следующем примере строка закодирована в кодировке Base64. Сначала строка должна быть приложена к varbinary.

SELECT BASE64_ENCODE(CAST ('hello world' AS VARBINARY));

Вот результирующий набор.

aGVsbG8gd29ybGQ=

В. BASE64_ENCODE по умолчанию и url_safe

В следующем примере первый выбор не указывает url_safe; Однако второй выбор указывает url_safe.

SELECT BASE64_ENCODE(0xCAFECAFE);

Вот результирующий набор.

yv7K/g==

В следующем примере указывается, что выходные данные являются URL-безопасными.

SELECT BASE64_ENCODE(0xCAFECAFE, 1);

Вот результирующий набор.

yv7K_g