mysql - 我可以在 1 列中保存 7 个 boolean 值吗?

标签 mysql sql bitmap boolean bit-manipulation

现在我的 MySQL 表中有 7 列:

monday
tuesday
wednesday
..

它们都是 boolean 值。有没有办法通过使用位集/位图或其他东西将这些 boolean 值组合到一个 days 列中?

我还希望能够查询启用了特定日期的行。我现在使用的查询是:

SELECT id FROM rows WHERE thursday = 1

多天也可以,但我一次只需要查询1天。

最佳答案

有什么理由要将它们全部存储在一列中吗?

方法有很多,但如果您走这条路,那么您在未来会遇到一些问题。例如,如果您想查看“星期四”期间哪些行处于事件状态,则必须查看每一行,运行一些函数来“清除”您的数据,然后解析您的结果。

如果只有 7 个 boolean 值,为什么不创建一个可以存储 0-2^8 的列并每天分配一点?

关于mysql - 我可以在 1 列中保存 7 个 boolean 值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5185921/

相关文章:

mysql - 错误1093(HY000): You can't specify target table 'employee_salary' for update in FROM clause

MySQL 转储到 SQL Server 2008 R2

sql - postgres 中没有 FILTER 的潜在空字段的字符串聚合。

android - 尝试缩放图像并从 android gallery 返回位图

mysql - 未使用空间索引

mysql - 如何在 MySQL 中返回数据透视表输出?

sql - MySQL - 如何在一个查询中计算每个表的所有行

android - 在android中创建缩放位图时保持图像质量

c# - Xamarin Android 如何从位图创建 BMP

mysql - 如何将 BINARY(4) 转换为整数