BASE64_ENCODE (Transact-SQL)
适用于:Azure SQL 数据库 Microsoft Fabric 中的 SQL 分析终结点和仓库
BASE64_ENCODE 将 varbinary 的值转换为 base64 编码的 varchar。
语法
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)