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