Re: boolean over char(1)

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: boolean over char(1)
Дата
Msg-id 200301040050.h040oX928996@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: boolean over char(1)  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: boolean over char(1)  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Also, we do support "char", which is one byte.  You need to specify the
quotes when creating the column.

---------------------------------------------------------------------------

Tom Lane wrote:
> "Thomas T. Thai" <tom@minnesota.com> writes:
> > Is there any advantages of using datatype boolean over char(1)?
>
> boolean fits in 1 byte; char(1) requires 5 bytes (maybe more, depending
> on alignment considerations).
>
> boolean will be considerably faster to operate on, being pass-by-value.
>
> char(1) will happily accept values that don't correspond to booleans
> (eg, if you use 't' and 'f' to represent booleans in a char(1), what
> will you do with 'y' or 'z'?)  You could possibly fix that with a
> check constraint, but that slows things down still more.
>
> boolean is, um, boolean: it behaves as expected in boolean expressions.
> You can't do AND, OR, NOT directly on chars.
>
>
> > If there isn't I think char(1) is more portable across other DBM?
>
> The boolean datatype is standard in SQL99.
>
>             regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

В списке pgsql-general по дате отправления:

Предыдущее
От: Joe Conway
Дата:
Сообщение: Re: example table functions?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: boolean over char(1)