BASE64_ENCODE (Transact-SQL)
适用于:Azure SQL 数据库
Microsoft Fabric 中的 SQL 分析终结点和仓库
BASE64_ENCODE
将 varbinary 表达式的值转换为 base64 编码的 varchar 表达式。
语法
BASE64_ENCODE (expression [ , url_safe ] )
参数
expression
varbinary(n) 或 varbinary(max)类型的表达式。
url_safe
可选的整数文本或表达式,用于指定编码操作的输出是否应是 URL 安全的。 除 0
以外的任何数字的计算结果为 true。 默认值是 0
。
返回类型
- 如果输入 varbinary(n), 其中
n
<= 6000,则 varchar(8000)。 - 如果输入 varbinary(n) 其中
n
> 6000,则 varchar(max)。 - 如果输入 varbinary(max),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
以下示例返回 ©
符号的 base64 编码值。
SELECT Base64_Encode(0xA9) AS "Encoded © symbol";
结果集如下。
qQ==
B. BASE64_ENCODE 字符串
在以下示例中,字符串采用 base64 编码。 必须先将字符串强制转换为 varbinary。
SELECT BASE64_ENCODE(CAST ('hello world' AS VARBINARY));
结果集如下。
aGVsbG8gd29ybGQ=
°C BASE64_ENCODE 默认值与 url_safe
在以下示例中,第一个选择未指定 url_safe
;但是,第二个选择指定 url_safe
。
SELECT BASE64_ENCODE(0xCAFECAFE);
结果集如下。
yv7K/g==
以下示例指定输出是 URL 安全的。
SELECT BASE64_ENCODE(0xCAFECAFE, 1);
结果集如下。
yv7K_g