gpt4 book ai didi

mysql - 在 MySQL 中将 VARBINARY 转换为 Base64

转载 作者:行者123 更新时间:2023-11-29 09:31:57 24 4
gpt4 key购买 nike

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

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

在 Microsoft SQL Server 中,我一直使用如下代码:

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 Server 示例一样,MySQL 中是否有 XML 或 JSON 操作可用于执行此操作?

或者我可以强制MySQL将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');

返回

# encodebase64('text')
dGV4dA==

关于mysql - 在 MySQL 中将 VARBINARY 转换为 Base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58530236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com