2016-09-29 75 views
0

我已经为我的DVD集合构建了一个SQLite表。我有一个领域'风格'与以下值:冒险,动画,传记,圣诞节,喜剧,犯罪,...,西方。 '流派'字段的类型为int,其中整数的每一位代表24种流派之一。例如,如果位4被设置,则DVD是喜剧。我希望能够根据流派检索表格的子集。例如,我试过这个:位操作?

SELECT * FROM AV WHERE GENRE & 1 <<4> 0 ORDER BY Title 

找回所有的喜剧。奇怪的是,SQL语句执行正常,但没有预期的结果。

我知道我只能将这些流派存储为VarChar,但我想通过将流派存储为整数中的位来使其工作。

+0

你为什么要这样做......?为什么不说冒险电影是'1'而动画是'2'等等?这听起来像你只是想着为了做一些奇特的事情而对它进行存储,但这听起来像是一个存储/查询的头痛问题。 – Siyual

+3

请考虑切换到规范化的数据模型:-)这些技巧是99%的时间不需要。 –

+1

我很欣赏你试图用位标记玩的事实,但是你至少可以发布一些示例数据吗?这些表格是什么样子的,你会得到什么结果? – WillardSolutions

回答

0

我的不好。 SQL语句确实工作正常。我添加了两种流派,然后按字母顺序排序改变位的位置。对困惑感到抱歉。 Earl Staley