Бөлісу құралы:


BASE64_ENCODE (Transact-SQL)

Применимо к:Конечная точка аналитики SQLServer 2025 (17.x) Базы данныхSQL Azure в Microsoft Fabric и хранилище вбазе данных SQL Microsoft Fabric в Microsoft Fabric

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

Соглашения о синтаксисе 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 для символа &copy; .

SELECT BASE64_ENCODE(0xA9) AS "Encoded &copy; symbol";

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

qQ==

B. BASE64_ENCODE строку

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

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

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

aGVsbG8gd29ybGQ=

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

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

SELECT BASE64_ENCODE(0xCAFECAFE);

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

yv7K/g==

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

SELECT BASE64_ENCODE(0xCAFECAFE, 1);

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

yv7K_g