| From: | Heikki Linnakangas <heikki(at)enterprisedb(dot)com> | 
|---|---|
| To: | Cade Cairns <cadec(at)otii(dot)com> | 
| Cc: | pgsql-bugs(at)postgresql(dot)org | 
| Subject: | Re: BUG #3765: strange results for bit string hex notation cast to bit | 
| Date: | 2007-11-20 21:42:57 | 
| Message-ID: | 474354E1.4080902@enterprisedb.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-bugs | 
Cade Cairns wrote:
> When casting a bit string constant using hexadecimal notation to a longer
> bit string, the result is padded with 0's on the right. This will result in
> inconsistent/useless results:
> 
> test=# select x'ff'::integer;
>  int4 
> ------
>   255
> (1 row)
> 
> test=# select x'ff'::bit(16)::integer;
>  int4  
> -------
>  65280
> (1 row)
It works like it should according to the manual:
http://www.postgresql.org/docs/8.1/interactive/datatype-bit.html
"Note:  If one explicitly casts a bit-string value to bit(n), it will be 
truncated or zero-padded on the right to be exactly n bits, without 
raising an error. Similarly, if one explicitly casts a bit-string value 
to bit varying(n), it will be truncated on the right if it is more than 
n bits."
-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Cade Cairns | 2007-11-20 21:47:46 | Re: BUG #3765: strange results for bit string hex notation cast to bit | 
| Previous Message | Cade Cairns | 2007-11-20 21:22:30 | BUG #3765: strange results for bit string hex notation cast to bit |