gpt4 book ai didi

mysql - 如何在MySQL中将位掩码应用于整数?

转载 作者:行者123 更新时间:2023-12-04 17:09:41 25 4
gpt4 key购买 nike

这是问题所在:

数据库Rx30在称为“ Rxstatus”的字段中存储处方的状态。它们存储的数字是一个永远不大于255的整数。设置的位确定脚本是否被填充。

一位代表告诉我们,如果设置了16、32或128,则该脚本被视为“未填充”。

因此,现在我们需要做的是取一个整数(例如“ 49”),然后查看设置了哪些位。为了速度,这需要通过MySQL完成。我了解49是:

32+16+1 = 49


因此,在此字段中设置了16,因此脚本未填写。

如何(在MySQL中)如何取一个整数(例如152),并确定设置了哪些位?

确定设置后,如果设置了16、32或128,则可以认为脚本未填充并产生正确的结果。

最佳答案

如果您有测试位掩码,例如32+16+1 = 49,并且您想知道是否在Rxstatus中设置了其中任何一项,请使用:

SELECT Rxstatus & 49 != 0


如果您想知道是否都已设置,请使用:

SELECT Rxstatus & 49 = 49


要设置位掩码中的所有位,请执行以下操作:

UPDATE Rx30
SET Rxstatus = Rxstatus | 49
WHERE <condition>


要取消设置位掩码中的所有位,请执行以下操作:

UPDATE Rx30
SET Rxstatus = Rxstatus & ~49
WHERE <condition>

关于mysql - 如何在MySQL中将位掩码应用于整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23830695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com