Re: 7.4: CHAR padding inconsistency

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: 7.4: CHAR padding inconsistency
Дата
Msg-id 200311191950.hAJJoOR16098@candle.pha.pa.us
обсуждение исходный текст
Ответ на 7.4: CHAR padding inconsistency  (Troels Arvin <troels@arvin.dk>)
Список pgsql-bugs
Troels Arvin wrote:
> Hello,
>
> I read about the padding-of-CHAR-values changes in the release notes for
> 7.4.
>
> Making PostgreSQL less standard compliant is sad; I also disagree
> with the statement that trimming of trailing white-space is what people
> expect.
>
> What's worse, and this may be classified as an error:
>
> create table chartest(col char(10) not null);
> insert into chartest values ('AAA');
>
> select character_length(col) from chartest;
>  character_length
> ------------------
>                10
>
> select character_length(col || 'hey') from chartest;
>  character_length
> ------------------
>                 6
>
> SELECT CHARACTER_LENGTH(col) <
>   CHARACTER_LENGTH(col||'hey') from chartest;
>  ?column?
> ----------
>  f
>
> The last two results are horrifying, in my opinion, especially when you
> consider them in concert: Concatenating a value with another value
> decreases its length...

Horrifying?

Anyway, what did you want it to output?  "AAA       hey"?  We could do
that, but I assume most people wouldn't expect that output?  If you use
literals it does work:

    test=> SELECT 'aaa   ' || 'bb';
     ?column?
    ----------
     aaa   bb
    (1 row)

I tried this and it clipped too:

    test=> SELECT CAST('aa   ' AS CHAR(10)) || 'b';
     ?column?
    ----------
     aab
    (1 row)

How do other databases handle this?

--
  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-bugs по дате отправления:

Предыдущее
От: Troels Arvin
Дата:
Сообщение: 7.4: CHAR padding inconsistency
Следующее
От: "William ZHANG"
Дата:
Сообщение: Re: 7.4: CHAR padding inconsistency