如何检查其中包含特定 bit/flag/mask 的所有条目

How do I check for all entries that has a certain bit/flag/mask in them

基本上,我想知道是否存在用于在列中查找位掩码的查询。例如,我想找到带有 0x00200 的每个条目,即使它们可能有多个标志。

给定一个 @flag 值,您要为特定列查找值,例如 creature_template table 的 npcflag 列中的值 2 ],请尝试以下操作:

SET @flag = 2;

SELECT `entry`, `name`, `npcflag`
FROM `creature_template` 
WHERE `npcflag` & @flag = @flag;