SELECT CONV('01ae0ac8', 16,2) 从二进制输出中删除前导0。我需要这些0来执行检查。有没有办法克服这个问题?谢谢您
SELECT CONV('01ae0ac8', 16,2)
rvpgvaaj1#
谢谢你@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.
谢谢你的及时回复。谨致问候
lx0bsm1f2#
在将输入字符串从base-16转换为base-2之前,可以将非零固定字符附加到输入字符串的开头。例如:
SELECT CONV(CONCAT('a','01ae0ac8'), 16,2)
这将为您提供以下输出:
101000000001101011100000101011001000
现在,在将其重新转换回base-16进行校验和时,请执行以下操作:
SELECT LCASE(SUBSTRING(CONV('101000000001101011100000101011001000', 2,16),2))
01ae0ac8
注:concat函数用于将“a”附加到开头。substring函数用于从重新转换的base-16字符串中删除第一个字符(“a”)。lcase函数用于将其转换为小写,作为输入字符串。
2条答案
按热度按时间rvpgvaaj1#
谢谢你@madhur,你让我走上了正轨。
我做了以下几件事,看起来很管用:
谢谢你的及时回复。谨致问候
lx0bsm1f2#
在将输入字符串从base-16转换为base-2之前,可以将非零固定字符附加到输入字符串的开头。例如:
这将为您提供以下输出:
现在,在将其重新转换回base-16进行校验和时,请执行以下操作:
这将为您提供以下输出:
注:
concat函数用于将“a”附加到开头。
substring函数用于从重新转换的base-16字符串中删除第一个字符(“a”)。
lcase函数用于将其转换为小写,作为输入字符串。