【发布时间】:2014-07-12 21:35:52
【问题描述】:
问题来了:
数据库 Rx30 将处方状态存储在名为“Rxstatus”的字段中。他们存储的数字是一个永远不会高于 255 的整数。设置的位决定脚本是否被填充。
一位代表告诉我们,如果设置了 16、32 或 128,则脚本被视为“未填充”。
所以现在我们需要做的是取一个整数,比如“49”,然后查看设置了哪些位。为了速度,这需要通过 MySQL 完成。我知道 49 是:
32+16+1 = 49
所以这个字段设置了16,所以脚本是空的。
我如何(在 MySQL 中)获取一个整数,例如 152,并确定它的哪些位被设置?
一旦我们确定设置了什么,如果设置了 16、32 或 128,我们可以认为脚本未填充并产生正确的结果。
【问题讨论】:
-
你的意思可能是从一个字节转换而来,因为一个位甚至不能高于 1 :)
-
是的,很抱歉!
-
你说的是一种常见的结构,叫做位掩码。
-
你可以使用 MySQL 的Bit functions,即按位与 16 或 32 或 128。
标签: mysql type-conversion integer