在配置单元中选择具有等于零的特定位的行

时间:2016-04-04 22:30:11

标签: hive bits

我想在hive中选择int列(“flags”)的第10-12位等于0的所有行。

我会写什么样的查询来做这件事?

1 个答案:

答案 0 :(得分:1)

您可以尝试shifleft()和按位:

where (intcol & shiftleft(1, 10)) = 0 and
      (intcol & shiftleft(1, 11)) = 0 and
      (intcol & shiftleft(1, 12)) = 0