MariaDB TO_BASE64() 函数将指定的字符串转换为 base-64 编码形式,并将结果作为具有连接字符集和排序规则的字符串返回。如果参数不是字符串,则在转换之前将其转换为字符串。如果参数为 NULL,则结果为 NULL。 Base-64 编码的字符串可以使用 FROM_BASE64() 函数进行解码。
存在不同的 base-64 种编码方案。这些是 TO_BASE64() 和 FROM_BASE64() 使用的编码和解码规则:
- 字母值 62 的编码是"+"。
- 字母值 63 的编码是"/"。
- 编码输出组成由四个可打印字符组成的组,每三个字节的数据使用四个字符进行编码。如果最终组不完整,则用"="字符填充,使长度达到 4。
- 为了分割长输出,每 76 个字符后添加一个换行符。
- 解码可识别并忽略换行符、回车符、制表符和空格。
语法
TO_BASE64(string)
参数
string | 必填。 指定要编码的字符串。 |
返回值
以字符串形式返回编码数据。
示例 1:
下面的示例展示了 TO_BASE64() 函数的用法。
SELECT TO_BASE64('Hello');
Result: 'SGVsbG8='
SELECT FROM_BASE64(TO_BASE64('Hello'));
Result: 'Hello'
SELECT FROM_BASE64('SGVsbG8=');
Result: 'Hello'
示例 2:
考虑一个名为 Sample 的数据库表,其中包含以下记录:
Data | Name |
---|---|
Data 1 | John |
Data 2 | Marry |
Data 3 | Jo |
Data 4 | Kim |
Data 5 | Ramesh |
下面给出的语句可用于对 Name 列的记录进行 base-64编码。
SELECT *, TO_BASE64(Name) AS TO_BASE64_Value FROM Sample;
这将产生如下所示的结果:
Data | Name | TO_BASE64_Value |
---|---|---|
Data 1 | John | Sm9obg== |
Data 2 | Marry | TWFycnk= |
Data 3 | Jo | Sm8= |
Data 4 | Kim | S2lt |
Data 5 | Ramesh | UmFtZXNo |