You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MariaDB 11.3.2(Windows)HEX()与UNHEX()函数异常咨询

问题分析与解决

问题本质

你遇到的现象并非Windows版本MariaDB的bug,也不是复杂的配置遗漏——核心原因是**binary_as_hex系统变量**的默认配置差异。

原因说明

binary_as_hex是MariaDB 10.5及以上版本引入的系统变量:

  • 当变量设为ON时,UNHEX返回的VARBINARY类型数据会以0x开头的十六进制字面量形式显示
  • 官方手册示例基于该变量默认OFF的场景,此时二进制数据会直接解码为字符串展示

Windows版本的MariaDB 11.3.2默认开启了binary_as_hex,因此你得到的结果和手册示例不符。

解决方法

临时生效(当前会话)

执行以下语句修改会话级变量,之后再运行UNHEX查询即可得到预期的字符串结果:

SET SESSION binary_as_hex = OFF;
SELECT UNHEX('4D617269614442');

永久生效(全局配置)

编辑Windows下MariaDB的配置文件(通常为my.ini,位于安装目录的data文件夹或系统默认配置路径),在[mysqld]节点添加以下配置:

binary_as_hex = OFF

保存后重启MariaDB服务,后续所有会话都会默认以字符串格式显示UNHEX结果。

补充验证

可先查询当前变量值确认状态:

SELECT @@binary_as_hex;

返回1表示开启,返回0表示关闭。

内容的提问来源于stack exchange,提问作者MMJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 14:25:06