SELECT CONV('01ae0ac8', 16,2)
从二进制输出中删除前导 0 。我需要这些 0 来执行检查。
有没有办法解决这个问题?
谢谢
答案 0 :(得分:1)
在将输入字符串从base-16转换为base-2之前,可以在输入字符串的开头添加一个非零的固定字符。 例如:
SELECT CONV(CONCAT('a','01ae0ac8'), 16,2)
这将为您提供以下输出:
101000000001101011100000101011001000
现在,将其重新转换为16位校验和时,请执行以下操作:
SELECT LCASE(SUBSTRING(CONV('101000000001101011100000101011001000', 2,16),2))
这将为您提供以下输出:
01ae0ac8
注意:
答案 1 :(得分:0)
谢谢@Madhur,您让我走上了正轨。
我执行了以下操作,并且似乎可以正常工作:
SELECT CONV(CONCAT('1','01ae0ac8'), 16,2) //I changed your a to 1
SELECT SUBSTRING(CONV('101000000001101011100000101011001000', 2,16),2,1) // Checking to see if the 1 is in the first position.
感谢您的及时答复。 亲切的问候