位操作?

时间:2016-09-29 16:04:48

标签: sqlite bit

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

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

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

我知道我可以将这些类型存储为VarChar,但我希望通过将类型存储为整数位来实现它。

1 个答案:

答案 0 :(得分:0)

我的坏。 SQL语句可以正常工作。我添加了两种类型,然后按字母顺序对类型进行排序,这改变了位位置。对困惑感到抱歉。 Earl Staley