If it's in integer columns, bitwise logic works just like you would expect it to as well. https://www.postgresql.org/docs/current/static/functions-math.html db=# select 'foo' where (9 & 1) > 0; ?column? ---------- foo (1 row) db=# select 'foo' where (9 & 2) > 0; ?column? ---------- (0 rows) Just bit-wise AND them and compare if the result is > 0. If you use the bitshift operator (<<) make sure you use parens to force ordering. This is important. On Mon, Sep 26, 2016 at 7:34 PM, David G. Johnston <david.g.johnston@xxxxxxxxx> wrote: > Please include the list in all replies. > > On Mon, Sep 26, 2016 at 4:14 PM, Jonathan Vanasco <postgres@xxxxxxxx> wrote: >> >> >> On Sep 26, 2016, at 5:04 PM, David G. Johnston wrote: >> >> On Mon, Sep 26, 2016 at 1:44 PM, Jonathan Vanasco <postgres@xxxxxxxx> >> wrote: >>> >>> The documentation doesn't have any examples for SELECT for the bitwise >>> operators, >> >> >> That shows a simple computation. One can "SELECT" any computation and get >> a value. >> >> It doesn't show a bitwise operator being used against an INT or BIT >> column, as I further elaborated. > > > I assumed a certain level of familiarity with databases and provided enough > info to answer your main question: "what are the available bit string > operators?". That you can apply these operator to either constants or > columns was knowledge I took for granted. > >> >> From what I can tell so far, i need to extract and compare a substring for >> the (reverse) index of the particular bit I want to filter on. > > > B'1001' is typed bit(4)... > > The only requirement with a WHERE clause is that the computation must result > in a boolean. My example SELECT computation does just that. It uses > "varbit" for convenience but INT can be CAST() to BIT and the operators > themselves should operate on any of the BIT variants. > > What you want is the "bit-wise AND" operator and the equality operator, both > of which you were shown. > > I'd suggest you put forth your own example, filling in pseudo-code where > needed, if you wish for more specific advice. > > David J. > -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general