TiDB FROM_BASE64 函数问题

TiDB V5.0.0 版本

在mysql中,AES_DECRYPT + FROM_BASE64 可以正常解密:

TiDB 的解密结果:

撇开解密逻辑,只是用 FROM_BASE64 函数,在 MySQL 里的结果:

image

TiDB 里使用 FROM_BASE64 函数结果:

image

初步推断,就是 FROM_BASE64 函数有问题,该函数官方显示是支持的:

麻烦大佬帮忙看下,谢谢!

已解决,最外层需要 convert 一下。

原语句:
select (AES_DECRYPT(FROM_BASE64(’+1irIKzSXvybvoZpDNYekQ==’),‘XXX’))

改写后语句:
select CONVERT (AES_DECRYPT(FROM_BASE64(’+1irIKzSXvybvoZpDNYekQ==’),‘XXX’) USING UTF8)

建议:
这个能否和 MySQL 一致,不需要再手工加一层 convert,或者在从表中取数据的时候,判断表的字符集,如果是 utf8,直接转好。

2 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。