Is there any reason for this behaviour:

test=# select 1::bit;
  bit
-----
  0
(1 row)

test=# select '1'::bit;
  bit
-----
  1
(1 row)

Chris


Mon, 14 Jun 2004 11:04:03 +0800
Christopher Kings-Lynne <chriskl@familyhealth.com.au>
Weird 'bit' type behaviour
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
> Is there any reason for this behaviour:
> test=# select 1::bit;
>   bit
> -----
>   0
> (1 row)

This is actually "1::int4::bit(1)", and what you are getting is
the sign bit.  See previous discussions about int-to-bit conversion
and which part of the int we ought to take.

> What about these?

Again, it's a field-width issue.  These all default to bit(1) and
you're shifting out of the defined width.

			regards, tom lane

Mon, 14 Jun 2004 09:19:50 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Weird 'bit' type behaviour 