Udostępnij za pomocą


BASE64_ENCODE (Transact-SQL)

Dotyczy do:Azure SQL DatabaseSQL analytics endpoint oraz Warehouse in Microsoft FabricSQL database in 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 alfabet ciągu jest alfabetem RFC 4648 Table 1 i może dodać dopełnienie. Bezpieczne dane wyjściowe adresu URL używają alfabetu base64url tabeli RFC 4648 Table 2 i nie dodaje 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 url_safe ma wartość true, wygenerowany ciąg base64url jest niezgodny 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. Ciąg musi być najpierw rzutowany 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 pierwszy wybór nie określa url_safe; jednak drugie zaznaczenie 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