Re: Questions about "varchar" NOT NULL default = char(1) - Mailing list pgsql-general

From Neil Conway
Subject Re: Questions about "varchar" NOT NULL default = char(1)
Date
Msg-id 4329DCCC.7020303@samurai.com
Whole thread Raw
In response to Questions about "varchar" NOT NULL default = char(1) ?  (Emi Lu <emilu@cs.concordia.ca>)
List pgsql-general
Emi Lu wrote:
> Greetings,
>
> If one column "col1" is defined as :
>
> col1 varchar(1) not null default ''
>
> Does it means that col1's definition is equal to
>
> col1 char(1) not null default ''

Not quite; for example,

neilc=# create table t1 (x char(1) not null);
CREATE TABLE
neilc=# create table t2 (x varchar(1) not null);
CREATE TABLE
neilc=# insert into t1 values ('');
INSERT 0 1
neilc=# insert into t2 values ('');
INSERT 0 1
neilc=# select octet_length(x) from t1;
  octet_length
--------------
             1
(1 row)

neilc=# select octet_length(x) from t2;
  octet_length
--------------
             0
(1 row)

> Put it another way, will char '' be saved as char(1) or char '' does not
> use space at all?

I'm not sure what you mean.

-Neil


pgsql-general by date:

Previous
From: Neil Conway
Date:
Subject: Re: CLUSTER equivalent
Next
From: Chris Browne
Date:
Subject: Re: Asychronous database replication