mysql HEX将字符串或数字转化为16进制字符串、UNHEX将16字符串转化成二进制
2021/12/1 19:09:10
本文主要是介绍mysql HEX将字符串或数字转化为16进制字符串、UNHEX将16字符串转化成二进制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 前言
- HEX
- HEX 函数的参数为数字时
- HEX 函数的参数为字符串时
- UNHEX
- HEX 转化 binary 类型
前言
- mysql 5.7.31
HEX
HEX 函数的官方说明如下:
HEX(str), HEX(N)
For a string argument str, HEX() returns a hexadecimal string representation of str where each byte of each character in str is converted to two hexadecimal digits. (Multibyte characters therefore become more than two digits.) The inverse of this operation is performed by the UNHEX() function.
For a numeric argument N, HEX() returns a hexadecimal string representation of the value of N treated as a longlong (BIGINT) number. This is equivalent to CONV(N,10,16). The inverse of this operation is performed by CONV(HEX(N),16,10).
mysql> SELECT X'616263', HEX('abc'), UNHEX(HEX('abc')); -> 'abc', 616263, 'abc' mysql> SELECT HEX(255), CONV(HEX(255),16,10); -> 'FF', 255
- 参数:可接受数字和字符串类型的参数
- 返回值:十六进制值的字符串
HEX 函数的参数为数字时
函数作用:数字参数N(十进制) -> 十六进制的数值=CONV(N,10,16) -> 将十六进制的数值转化为字符串
mysql> select HEX(48); +---------+ | HEX(48) | +---------+ | 30 | +---------+ 1 row in set (0.01 sec)
- 在ASCII码表中,字符
'0'
对应的十六进制数字为0x30
。十六进制数字0x30
对应的十进制数字为48。
mysql> select HEX(0x30); +-----------+ | HEX(0x30) | +-----------+ | 30 | +-----------+ 1 row in set (0.01 sec)
- 在ASCII码表中,字符
'0'
对应的十六进制数字为0x30
。十六进制数字0x30
对应的十进制数字为48。
HEX 函数的参数为字符串时
函数作用:字符串参数S -> 字符串中的每个字符(按照ASCII码表)转化成ASCII码(十六进制数值) -> 将十六进制的数值转化为字符串
mysql> select HEX('0'); +----------+ | HEX('0') | +----------+ | 30 | +----------+ 1 row in set (0.01 sec)
- 在ASCII码表中,字符
'0'
对应的十六进制数字为0x30
。十六进制数字0x30
对应的十进制数字为48。
UNHEX
UNHEX函数的官方说明如下:
UNHEX(str)
For a string argument str, UNHEX(str) interprets each pair of characters in the argument as a hexadecimal number and converts it to the byte represented by the number. The return value is a binary string.
mysql> SELECT UNHEX('4D7953514C'); -> 'MySQL' mysql> SELECT X'4D7953514C'; -> 'MySQL' mysql> SELECT UNHEX(HEX('string')); -> 'string' mysql> SELECT HEX(UNHEX('1267')); -> '1267'
- 参数:字符串类型的参数
- 返回值:二进制值的字符串
- 函数作用:字符串参数S -> 字符串中每2位字符(按照ASCII码表)转化为一个十六进制数值 -> 将十六进制的数值转化为字符
mysql> select UNHEX('30'); +-------------+ | UNHEX('30') | +-------------+ | 0 | +-------------+ 1 row in set (0.02 sec)
- 在ASCII码表中,字符
'0'
对应的十六进制数字为0x30
。十六进制数字0x30
对应的十进制数字为48。
HEX 转化 binary 类型
这篇关于mysql HEX将字符串或数字转化为16进制字符串、UNHEX将16字符串转化成二进制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南