postgresql 如何比较BIT列的值?

b09cbbtk  于 2023-10-18  发布在  PostgreSQL
关注(0)|答案(2)|浏览(186)

我有一个位列(例如,'列')。
如何将此列的值与任意数字进行比较?
SELECT * FROM TABLE WHERE 'Column' = 5
执行上述查询后,我得到一个错误消息:操作员不存在:位=整数

bxpogfeg

bxpogfeg1#

在PostgreSQL中比较位字段和数字时,应该使用位文字语法。您可以按如下方式更改查询,以将值5与名为“Column”的位列进行比较:

  1. SELECT * FROM your_table_name WHERE "Column" = B'101'; -- B'101' represents the bit value 5

此查询将生成一个行列表,其中“列”字段的位表示为5。
希望它能起作用:)

mctunoxg

mctunoxg2#

您可以将该值转换为compre到bit

  1. CREATE TABLE TABLE_1 (Column1 bit(4))
  1. CREATE TABLE
  1. SELECT * FROM TABLE_1 WHERE Column1 = 5::BIT(4)

| column1|
| --|

  1. SELECT 0

fiddle

相关问题