Udostępnij przez


BASE64_ENCODE (Transact-SQL)

Dotyczy: Sql Server 2025 (17.x) Punkt końcowy analizy SQLusługi Azure SQL Managed Instanceusługi Azure SQL Database w usłudzeMicrosoft Fabric i magazynie wbazie danych Microsoft Fabric SQL Database w usłudze Microsoft Fabric

BASE64_ENCODE Konwertuje wartość wyrażenia varbinary na wyrażenie varchar zakodowane w formacie Base64.

Transact-SQL konwencje składni

Składnia

BASE64_ENCODE (expression [ , url_safe ] )

Arguments

wyrażenie

Wyrażenie typu varbinary(n) lub varbinary(max).

url_safe

Opcjonalny literał lub wyrażenie całkowite, które określa, czy dane wyjściowe operacji kodowania powinny być bezpieczne dla adresu URL. Dowolna liczba inna niż 0 obliczona na wartość true. Domyślna wartość to 0.

Typy zwracane

  • varchar(8000), jeśli dane wejściowe to varbinary(n), gdzie n<= 6000.
  • varchar(max), jeśli dane wejściowe to varbinary(n), gdzie n> 6000.
  • varchar(max), jeśli dane wejściowe to varbinary(max).
  • Jeśli wyrażenie wejściowe to NULL, dane wyjściowe to NULL.

Uwagi

Zakodowany ciąg używa alfabetu z tabeli RFC 4648 Table 1 i może zawierać dopełnienie. Bezpieczne dane wyjściowe adresu URL używają alfabetu Base64URL z tabeli RFC 4648 Table 2 i nie zawierają dopełnienia. Ta funkcja nie dodaje żadnych nowych znaków wiersza.

W każdym przypadku jest używane domyślne sortowanie bazy danych. Aby uzyskać więcej informacji na temat obsługiwanych sortowania w usłudze Microsoft Fabric, zobacz Tabele.

Jeśli ustawiono url_safe wartość true, wygenerowany ciąg Base64URL nie jest zgodny z kodami XML i JSON Base64 programu SQL Server.

Przykłady

A. BASE64_ENCODE w warstwie Standardowa

Poniższy przykład zwraca wartość zakodowaną w formacie Base64 dla symbolu &copy; .

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

Oto zestaw wyników.

qQ==

B. BASE64_ENCODE ciągu

W poniższym przykładzie ciąg jest zakodowany w formacie Base64. Najpierw należy rzutować ciąg na wartość varbinary.

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

Oto zestaw wyników.

aGVsbG8gd29ybGQ=

C. BASE64_ENCODE domyślne a url_safe

W poniższym przykładzie pierwsza SELECT instrukcja nie określa url_safe; jednak druga SELECT instrukcja określa wartość url_safe.

SELECT BASE64_ENCODE(0xCAFECAFE);

Oto zestaw wyników.

yv7K/g==

W poniższym przykładzie określono, że dane wyjściowe są bezpieczne pod adresem URL.

SELECT BASE64_ENCODE(0xCAFECAFE, 1);

Oto zestaw wyników.

yv7K_g