Re: 7.4: CHAR padding inconsistency - Mailing list pgsql-bugs

From William ZHANG
Subject Re: 7.4: CHAR padding inconsistency
Date
Msg-id bphjj2$10st$1@news.hub.org
Whole thread Raw
In response to 7.4: CHAR padding inconsistency  (Troels Arvin <troels@arvin.dk>)
List pgsql-bugs
Bruce said:
> How do other databases handle this?

I have tried on MS SQL Server 2000 and Oracle 9i for Windows.
SQL Server doesn't like character_length and || , so use len and + instead.
Oracle doesn't like character_length either, use length.
Hope the result may help.

create table chartest(col char(10) not null);
insert into chartest values ('AAA');

PostgreSQL:
select character_length(col) from chartest;
10
SQL Server
select len(col) from chartest;
3
Oracle
select length(col) from chartest;
10

PostgreSQL:
select character_length(col || 'hey') from chartest;
6
SQL Server:
select len(col + 'hey') from chartest;
13
Oracle:
select length(col || 'hey') from chartest;
13

PostgreSQL:
select 'aaa   ' || 'bb';
aaa   bb
SQL Server:
select 'aaa   ' + 'bb';
aaa   bb
Oracle:
select 'aaa   ' || 'bb' from dual;
aaa   bb

PostgreSQL:
select cast('aa   ' as char(10)) || 'b';
aab
SQL Server:
select cast('aa   ' as char(10)) + 'b';
aa        b
Oracle:
select cast('aa   ' as char(10)) || 'b' from dual;
aa        b

pgsql-bugs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: 7.4: CHAR padding inconsistency
Next
From: krishna kumar
Date:
Subject: Installation problem