![](/img/trans.png)
[英]MySQL Workbench: How do I select specific rows with a certain date? How do I exclude dates?
[英]Mysql: How do I select a if a bit on a specific place is 1?
我有一個mysql列,其中包含一個整數,其中包含有關用戶選擇的選項的信息。
現在,例如,數字42 = 2 + 8 + 32 = 2 ^ 1 + 2 ^ 3 + 2 ^ 5 ,因此具有options = 42的用戶選擇了選項1,3和5。
如何選擇(至少)選項5被選中的所有用戶? 什么是正確的工作SQL查詢?
SELECT * FROM `users` WHERE ???(`options`) = ???(5);
提前致謝!
如果options
是整數類型,則可以選擇在其選項中設置至少第 5位的行,如下所示:
SELECT * FROM `users` WHERE `options` >= POW(2, 5)
要僅選擇在其選項中設置了第5位的列,請執行
SELECT * FROM `users` WHERE (`options` & POW(2, 5))
嘗試按位操作:
http://dev.mysql.com/doc/refman/5.0/en/bit-functions.html
在您的代碼(MySql)中,條件可能是
SELECT *
FROM `users`
WHERE (`options` & (1 << 5)) <> 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.