X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id 0CB09D1E275 for ; Wed, 12 May 2004 15:11:55 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 30649-02 for ; Wed, 12 May 2004 15:11:34 -0300 (ADT) Received: from wolff.to (wolff.to [66.93.249.74]) by svr1.postgresql.org (Postfix) with SMTP id 9E6E6D1DB0A for ; Wed, 12 May 2004 15:11:31 -0300 (ADT) Received: (qmail 4611 invoked by uid 500); 12 May 2004 18:16:20 -0000 Date: Wed, 12 May 2004 13:16:20 -0500 From: Bruno Wolff III To: Mike Rylander Cc: pgsql-sql@postgresql.org, Mats =?iso-8859-1?Q?Sj=F6berg?= Subject: Re: How do i extract a certain bit from a bigint column Message-ID: <20040512181620.GB4372@wolff.to> Mail-Followup-To: Mike Rylander , pgsql-sql@postgresql.org, Mats =?iso-8859-1?Q?Sj=F6berg?= References: <200405120817.39593.miker@purplefrog.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200405120817.39593.miker@purplefrog.com> User-Agent: Mutt/1.5.6i X-Virus-Scanned: by amavisd-new at postgresql.org X-Spam-Status: No, hits=0.0 tagged_above=0.0 required=5.0 tests= X-Spam-Level: X-Archive-Number: 200405/110 X-Sequence-Number: 17824 On Wed, May 12, 2004 at 08:17:39 -0400, Mike Rylander wrote: > > 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; The following will probably be a bit faster: SELECT * FROM table WHERE (status & 10::BIGINT) = 8;