MySQL数据库中16进制进行位运算

因为数据库表字段存储的是72位的16进制来表示一整天,现在需要过滤某一个时间段,因此需要进行16进制位运算比较。

找了很多种办法发现都不好用,最后只用下面一行即可完成比较。

SELECT HEX(CONV('F',16,10) & CONV('E',16,10))

HEX(N_or_S)函数是把结果集进行16进制转换

CONV(N,from_base,to_base)函数是把指定字段值进行转换

N:是需要转换的值

from_base:按什么进制进行转换

to_base:转换为多少进制

注意:这里还有一点需要注意,如果按二进制进行比较,结果集是不正确的,因此按照10进制去比较的。

原文地址:https://www.cnblogs.com/yasong-zhang/p/5092114.html