BASE64_ENCODE (Transact-SQL)

适用于:Azure SQL 数据库 Microsoft Fabric 中的 SQL 分析终结点和仓库

BASE64_ENCODE 将 varbinary 的值转换为 base64 编码的 varchar。

Transact-SQL 语法约定

语法

BASE64_ENCODE (expression [, url_safe])

参数

expression

varbinary 类型的表达式 (n | max)

url_safe

可选的整数文本或表达式,用于指定编码操作的输出是否应是 URL 安全的。 除 0 以外的任何数字的计算结果为 true。 默认值是 0

返回类型

  • Varchar(8000)
  • 如果输入为 varbinary (max),则为 Varchar(max)
  • 如果输入为 varchar(n),其中 n > 6000,则为 Varchar(max)
  • 如果输入表达式为 null,则输出为 null

备注

编码后的字符串字母表是 RFC 4648 表 1 的字母表,可以添加填充。 URL 安全的输出使用 RFC 4648 表 2 的 base64url 字母表,并且不添加填充。 此函数不添加任何换行符。

在每种情况下,都使用数据库默认排序规则。 有关 Microsoft Fabric 中支持的排序规则的详细信息,请参阅

如果 url_safe 为 true,则生成的 base64url 字符串与 SQL Server 的 XML 和 JSON base64 解码器不兼容。

示例

A. 标准 BASE64_ENCODE

在以下示例中,简单的 varbinary 采用 base64 编码。

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

下面是结果集:

------------  
qQ==
(1 row affected)

B. BASE64_ENCODE 字符串

在以下示例中,字符串采用 base64 编码。 必须先将字符串强制转换为 varbinary。

SELECT BASE64_ENCODE (CAST ('hello world' as varbinary))

下面是结果集。

------------  
aGVsbG8gd29ybGQ=
(1 row affected)

C. BASE64_ENCODE 默认值与 url_safe

在以下示例中,第一个选择不指定 url_safe,但第二个选择指定 url_safe

SELECT BASE64_ENCODE(0xCAFECAFE)

下面是结果集。

------------  
yv7K/g==
(1 row affected)

以下示例指定输出是 URL 安全的。

SELECT BASE64_ENCODE(0xCAFECAFE, 1);

下面是结果集:

------------  
yv7K_g
(1 row affected)

后续步骤