将 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
我知道您可以像这样将 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