因为数据库表字段存储的是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进制去比较的。