当前位置:  开发笔记 > 编程语言 > 正文

MySQL上的MD5(RAND())仅返回数字

如何解决《MySQL上的MD5(RAND())仅返回数字》经验,为你挑选了1个好方法。

我正在运行在谷歌搜索时发现的以下示例代码:

SELECT MD5(RAND())

但是,令我惊讶的是,MD5返回的是纯数字,而不是十六进制数字。使用CONV(MD5(RAND()), 10, 16)似乎可以解决我的问题,但是MySQL文档指出MD5函数应该返回已经为十六进制的字符串。

难道我做错了什么?

EDIT2:这个问题似乎仅存在于phpMyAdmin,而不是MySQL的命令行版本。

编辑:我的MySQL版本:

mysql --version
mysql  Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (x86_64) using readline 6.1

MD5值示例:

6338666264663132376461666163313063656535633666616266396530613335

另外,CONV返回一个非常短的字符串,例如:

B9

该字符串通常是一位数字,而到目前为止,我得到的最长是5位数字。



1> luiscubal..:

没关系,我知道了。

不知何故,phpMyAdmin将结果读取为二进制。似乎有一个选项“显示二进制内容为十六进制”,默认情况下已选中。

似乎此“显示为十六进制”选项引起了问题。取消选中它似乎可以解决问题。

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有