我有一个位列(例如,'列')。如何将此列的值与任意数字进行比较?SELECT * FROM TABLE WHERE 'Column' = 5执行上述查询后,我得到一个错误消息:操作员不存在:位=整数
SELECT * FROM TABLE WHERE 'Column' = 5
bxpogfeg1#
在PostgreSQL中比较位字段和数字时,应该使用位文字语法。您可以按如下方式更改查询,以将值5与名为“Column”的位列进行比较:
SELECT * FROM your_table_name WHERE "Column" = B'101'; -- B'101' represents the bit value 5
此查询将生成一个行列表,其中“列”字段的位表示为5。希望它能起作用:)
mctunoxg2#
您可以将该值转换为compre到bit
CREATE TABLE TABLE_1 (Column1 bit(4))
CREATE TABLE
SELECT * FROM TABLE_1 WHERE Column1 = 5::BIT(4)
| column1|| --|
SELECT 0
fiddle
2条答案
按热度按时间bxpogfeg1#
在PostgreSQL中比较位字段和数字时,应该使用位文字语法。您可以按如下方式更改查询,以将值5与名为“Column”的位列进行比较:
此查询将生成一个行列表,其中“列”字段的位表示为5。
希望它能起作用:)
mctunoxg2#
您可以将该值转换为compre到bit
| column1|
| --|
fiddle