Yefei.Blog

个人日记 WIKI

用户工具


差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

mysql:bitwise [2018/09/08 10:31] (当前版本)
yefei 创建
行 1: 行 1:
 +====== 位运算 ======
  
 +注意:在这里不能使用1-12的数字来表示月份,而是使用1,2,4,8,16,32,64,128,512,1024,2048,4096来表示。
 +
 +以下为使用技巧:
 +1. 当我们需要查询某个月份的景点时,例如查询3月份的景点,可使用以下语句:
 +<code mysql>
 +SELECT * FROM `spots` WHERE `month` & 4 = 4
 +</​code>​
 +
 +2. 当设置某个景点适合某个月份时,例如设置4325的景点适合2月份,可使用下面的语句:
 +<code mysql>
 +UPDATE `spots` SET `month` = `month` | 2 WHERE `id` = 4325
 +</​code>​
 +
 +3. 当取消设置某个景点的月份时,可使用下面的语句:
 +<code mysql>
 +UPDATE `spots` SET `month` = `month` ^ 2 WHERE `id` = 4325
 +</​code>​
 +
 +4. 查询同时适合多个月份的数据,例如需要查询设置了11,12,1月份的景点,将其三个月份对应的数值加起来,结果为6146,然后使用这个数值进行查询:
 +<code mysql>
 +SELECT * FROM `spots` WHERE `month` & 6146 = 6146
 +</​code>​

皖ICP备15000265号

皖公网安备 34110302000106号