【发布时间】:2011-07-08 08:10:05
【问题描述】:
现在我的 MySQL 表中有 7 列:
monday
tuesday
wednesday
..
它们都是布尔值。有没有办法通过使用 bitset/bitmap 或其他方式将这些布尔值组合到单个 days 列中?
我还希望能够查询启用了特定日期的行。我现在使用的查询是:
SELECT id FROM rows WHERE thursday = 1
多天可以,但我一次只需要查询1天。
【问题讨论】:
-
您在寻找什么查询来修改数据?
-
难道你不能只有一个带有代表星期几的数字的列。比如 1=星期一...7=星期日?或者您是否可能在这里拥有超过一天的列收益?
-
@Ramy:假设提到位列并要求合并,我会说这是一个准确的结论;可能存在多天。
-
为什么要将所有值存储在单个列中?有明显的缺点(查询复杂性、索引使用),那么您希望通过这样做获得什么?另外,您使用的是什么 DBMS?
标签: mysql sql bitmap boolean bit-manipulation