在 MySQL 中将 VARBINARY 转换为 Base64

Convert VARBINARY to Base64 in MySQL

这似乎是一个基本场景,但我无法在任何地方找到相关信息。
我是 MySQL 的新手,拥有多年的 Microsoft SQL 服务器经验。

在 MySQL 中,如何将 BINARYVARBINARY 值转换为 Base64 字符串,反之亦然?

在 Microsoft SQL 服务器中,我一直使用这样的代码:

CREATE FUNCTION [dbo].[convert_binary_base64] ( @input [VARBINARY] ( 3000 ) )
RETURNS [VARCHAR] ( 4000 ) AS
BEGIN
    RETURN CAST ( '' AS [XML] ).value ( 'xs:base64Binary(sql:variable("@input"))' , 'VARCHAR(4000)' ) ;
END
GO

根据 mysql.com,看起来 TO_BASE64 函数只能从文本转换为文本:
https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_to-base64

与上面的 Microsoft SQL 服务器示例一样,MySQL 中是否有可用的 XML 或 JSON 操作来执行此操作?

或者我可以强制 MySQL 将 "interpret" 一个 VARBINARY 变量作为文本,然后将文本传递给 TO_BASE64 吗?
(如果是这样,会导致性能下降吗?)

To_BASE64 也可以使用 VARCHAR 作为基础并插入到 varchar

DELIMITER //

CREATE FUNCTION encodebase64(
    Inputtext 
    VARBINARY(3000)
) RETURNS VARCHAR(4000)
DETERMINISTIC
BEGIN
 Return TO_BASE64(Inputtext);
END //

DELIMITER ;

所以

 SELECT encodebase64('text');

returns

# encodebase64('text')
dGV4dA==