mysql - 将字符串构建的位图 (100101) 转换为 SQL 中的 int 值

标签 mysql types type-conversion

是否可能,我将如何将位映射的字符串表示形式(如“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/

相关文章:

javascript - 使用mysql通过javascript访问全局函数

php - 尝试在 Yii2 中加载双列表框时出错

python - 在Python中将对象数据类型的内容转换为日期数据类型

c# - C# 中 typeof(int) 和 typeof(Int32) 之间的区别可能吗?

javascript - Typescript TS2339 类型上不存在属性 - 类声明

c++ - 如果我将一个无符号整数与一个负整数相加并且算术结果为正,会发生什么情况?

c++用户定义的转换 - 隐式转换

php - 如何将mysql中的两列合并为一列?

mysql - 多类别数据库设计

c++ - decltype(std::get<0>(tup)) 到底是什么?