Thread: Bit string manipulation in Postgresql

Bit string manipulation in Postgresql

From
Ericson Smith
Date:
Hi all,

I'm trying to code a problem where a set of options can be expressed in
a data column like "10111011", a bit string.

Each position is atomic and represents a certain setting within the set,
thus: "00100000" would return TRUE if OR'd with "10111011", since the
3'rd position matches in both sets.

While I could manually retrieve N records and iterate through them in
whatever programming language (or possibly a plpgsql function), is there
a way I could natively do this in a WHERE clause in my query?

Looking through the idocs, I could not immediately find a way around
this issue. Any pointers to documentation (or perhaps another way to
implement this issue) would be very helpful.

Regards
Ericson Smith
eric@did-it.com




Re: Bit string manipulation in Postgresql

From
"Josh Goldberg"
Date:
http://www.postgresql.org/idocs/index.php?functions-math.html

is this what you're after?

SELECT 1 WHERE B'1010' & B'0110' > B'0001';
returns 1
SELECT 1 WHERE B'1010' & B'0100' > B'0001';
returns null

----- Original Message -----
From: "Ericson Smith" <ericson@did-it.com>
To: <pgsql-admin@postgresql.org>
Sent: Tuesday, October 29, 2002 5:01 PM
Subject: [ADMIN] Bit string manipulation in Postgresql


> Hi all,
>
> I'm trying to code a problem where a set of options can be expressed in
> a data column like "10111011", a bit string.
>
> Each position is atomic and represents a certain setting within the set,
> thus: "00100000" would return TRUE if OR'd with "10111011", since the
> 3'rd position matches in both sets.
>
> While I could manually retrieve N records and iterate through them in
> whatever programming language (or possibly a plpgsql function), is there
> a way I could natively do this in a WHERE clause in my query?
>
> Looking through the idocs, I could not immediately find a way around
> this issue. Any pointers to documentation (or perhaps another way to
> implement this issue) would be very helpful.
>
> Regards
> Ericson Smith
> eric@did-it.com
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>