Thread: Using & - operator

Using & - operator

From
Rado Petrik
Date:
Hi, 

I have table users;

id  name  bin
--------------1   xx   9    

dec(1) & dec(9) = dec(1)  
bin(0001) & bin(1001) = bin(0001) 

This query is bad. 

SELECT name FROM users WHERE id_user=1 AND (bin & 1) 

This query return 
"Warning: PostgreSQL query failed: ERROR: right- hand side of AND is
type 'integer', not 'boolean' in"


Wow I write corect this query ? 

Thanks. 

-- 
Rado Petrik <r.p@szm.sk>




Re: Using & - operator

From
Dmitry Tkach
Date:
Rado Petrik wrote:

>Hi, 
>
>I have table users;
>
>id  name  bin
>--------------
> 1   xx   9    
>
>dec(1) & dec(9) = dec(1)  
>bin(0001) & bin(1001) = bin(0001) 
>
>This query is bad. 
>
>SELECT name FROM users WHERE id_user=1 AND (bin & 1) 
>
>This query return 
>"Warning: PostgreSQL query failed: ERROR: right- hand side of AND is
>type 'integer', not 'boolean' in"
>  
>
I think, you want:

... AND (bin & 1) = 1

just bin&1 returns an *integer*, and you need a *boolean* expression for 
your criteria.

I hope, it helps...

Dima

>Wow I write corect this query ? 
>
>Thanks. 
> 
>
>  
>