Re: How do i extract a certain bit from a bigint column - Mailing list pgsql-sql

From Mike Rylander
Subject Re: How do i extract a certain bit from a bigint column
Date
Msg-id 200405120817.39593.miker@purplefrog.com
Whole thread Raw
In response to How do i extract a certain bit from a bigint column  (Mats Sjöberg <mats.sjoberg@cybernetics.se>)
Responses Re: How do i extract a certain bit from a bigint column
List pgsql-sql
On Wednesday 12 May 2004 07:05 am, Mats Sjöberg wrote:
> Hello everyone
> In a table i have a column status of type bigint.
> I need to create a view of the table including all rows with bit 4 set
> (value 8).
> At the same time i need to exclude excludig all rows with bit 2 set.
>
> What is the syntax to extract those bits?
> I have tested get_bit(string, offset) but this requires a string, and not a
> bigint.
> Is there a function to

The easiest way is to test for a bit using bitwise and:

SELECT * FROM table WHERE (status & 2::BIGINT) <> 0 AND (status & 8::BIGINT) =
0;

-miker


pgsql-sql by date:

Previous
From: Mats Sjöberg
Date:
Subject: How do i extract a certain bit from a bigint column
Next
From: Tom Lane
Date:
Subject: Re: How do i extract a certain bit from a bigint column