Re: type cast about int to bit - Mailing list pgsql-sql

From Adrian Klaver
Subject Re: type cast about int to bit
Date
Msg-id 201202061719.12213.adrian.klaver@gmail.com
Whole thread Raw
In response to type cast about int to bit  (zoulx1982 <zoulx1982@163.com>)
List pgsql-sql
On Sunday, February 05, 2012 10:11:12 pm zoulx1982 wrote:
> hi,
> there is a problem about type cast that i don't understand, follow is my
> test.
>
> postgres=# select 10::bit(3);
>  bit
> -----
>  010
> (1 row)
> postgres=# select 10::bit varying(3);
> ERROR:  cannot cast type integer to bit varying
> LINE 1: select 10::bit varying(3);
>                  ^
> postgres=#
>
> my question is why int can cast to bit , i want to know the reason.
> thank you for your timing.

My guess it depends on the  fact that bit types are stored as either char or
varchar depending on whether they are bit or bit varying.
In the first case you are basically doing an int-->char, for which there is a
built in cast.
In the second case you are doing int-->varchar for which there is not a cast.


--
Adrian Klaver
adrian.klaver@gmail.com


pgsql-sql by date:

Previous
From: Jasen Betts
Date:
Subject: Re: type cast about int to bit
Next
From: Adrian Klaver
Date:
Subject: Re: type cast about int to bit