将 bit(64) 转换为 Postgres 中的布尔值

Cast bit(64) to boolean in Postgres

我知道您可以像这样将 int8 转换为布尔值:

int8::int4::boolean

现在我尝试将 int8 转换为带有 bit(64) 掩码的 bit(64)AND,然后将整个表达式计算为布尔值(即 true 当且仅当至少一位是 1)。

但是bit(64)::int4::boolean不行。

什么作用?

很快想通了;不妨分享一下。

为了将 bit(64) 转换为布尔值,您可以这样做:

bit(64)::int8::int4::boolean

一定有更好的方法...

像许多编程语言一样,将 64 位表达式作为 true/false 谓词求值会有什么危害?

我认为没有必要,因为有 bit-wise 个 ooerators:

WHERE intcol & 127 <> 0