是否可能,我将如何将位映射的字符串表示形式(如“10010”)转换为它所表示的整数值?我们正在使用一个字符串构建的位图来进行权限设置,然后我需要在生成字符串后将其转换为整数值。我们检查每个权限,所以它的用户被分配给它,它得到一个 1,如果没有,它得到一个 0。然后程序将用户与位图进行比较,看看它们是否设置正确。
目前,权利的数量可能会有所不同,因此我们采用有多少权利,然后将字符串填充到下一个二进制大小 8。因此,如果有 7 个权利,我们将创建一个 8 个字符长度的字符串,或者如果有12个权限,我们做一个16个字符的leng字符串。
例如,我需要找到一种方法将字符串“100101”转换为 int。这可能吗?
最佳答案
试试这个
SELECT CONV( BINARY( '100101' ) , 2, 10 )
它会成功的。 我的灵感来自 Convert a binary to decimal using MySQL
编辑
事实上,您可以通过使用 CONV
使其变得更加简单SELECT CONV( '100101' , 2, 10 )
参见 http://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html#function_conv了解更多详情
关于mysql - 将字符串构建的位图 (100101) 转换为 SQL 中的 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30788881/