Thread: Bitwise operation
Hi, I'm learning to use Postgresql's bitwise operator's as I'm interested in building super fast search's based on user selections in web forms. So far so good but I have just lost it a little so I thought I'd post. Please growl at me if I'm asking on the wrong list :-) I understand this: SELECT 111 & 11 = 11 but not this SELECT 1111 & 111 = 71 I was expecting the second example to be SELECT 1111 & 111 = 111 Hmm ... Maybe I should search on the web for some more info on how to understand this logic. Math was never my strongest I was always better at creative writing. Any advice much appreciated. Thanks Best Regards Rudi.
On Mon, 30 Jun 2003 22:28:15 +1000 "Rudi Starcevic" <rudi@oasis.net.au> wrote: > SELECT 1111 & 111 = 71 > I was expecting the second example to be > SELECT 1111 & 111 = 111 hmm ..: let's see: dec(1111) is bin(10001010111) dec(111) is bin(00001101111) so, when we'll "AND" them: 1111 : 10001010111 111 : 00001101111 ------------------- 00001000111 : dec: 71 quite reasonable, isn't it? depesz
On Mon, Jun 30, 2003 at 22:28:15 +1000, Rudi Starcevic <rudi@oasis.net.au> wrote: > > Hi, > > I'm learning to use Postgresql's bitwise operator's as I'm interested > in building super fast search's based on user selections in web forms. > > So far so good but I have just lost it a little so I thought I'd post. > Please growl at me if I'm asking on the wrong list :-) > > I understand this: > > SELECT 111 & 11 = 11 > > but not this > > SELECT 1111 & 111 = 71 > > I was expecting the second example to be > > SELECT 1111 & 111 = 111 In the above examples the numbers are decimal values. Maybe you wanted to do something like the following: area=> select b'1111' & b'0111';?column? ----------0111 (1 row)
<div class="moz-text-html" lang="x-western"> Bruno,Hubert,<br /><br /> Thanks.<br /> It's all crystal clear now.<br /><br/> Now I can keep moving on with my app.<br /><br /> If all goes well I hope to add a 'techdoc' on how to do this.<br/> I've found documents from other DBMS on using Bitwise operations<br /> but not PG.<br /><br /> Cheers<br /> Rudi.<br/><br /> Bruno Wolff III wrote:<br /><blockquote cite="mid20030630124249.GB26142@wolff.to" type="cite"><pre wrap="">OnMon, Jun 30, 2003 at 22:28:15 +1000, Rudi Starcevic <a class="moz-txt-link-rfc2396E" href="mailto:rudi@oasis.net.au"><rudi@oasis.net.au></a>wrote: </pre><blockquote type="cite"><pre wrap="">Hi, I'm learning to use Postgresql's bitwise operator's as I'm interested in building super fast search's based on user selections in web forms. So far so good but I have just lost it a little so I thought I'd post. Please growl at me if I'm asking on the wrong list :-) I understand this: SELECT 111 & 11 = 11 but not this SELECT 1111 & 111 = 71 I was expecting the second example to be SELECT 1111 & 111 = 111 </pre></blockquote><pre wrap=""> In the above examples the numbers are decimal values. Maybe you wanted to do something like the following: area=> select b'1111' & b'0111';?column? ----------0111 (1 row) ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster </pre></blockquote></div><br />