Re: [pgsql-advocacy] Oracle buys Innobase
| От | Doug Quale |
|---|---|
| Тема | Re: [pgsql-advocacy] Oracle buys Innobase |
| Дата | |
| Msg-id | 878xwokk4d.fsf@charter.net обсуждение исходный текст |
| Ответ на | Re: [pgsql-advocacy] Oracle buys Innobase ("Guy Rouillier" <guyr@masergy.com>) |
| Ответы |
Re: [pgsql-advocacy] Oracle buys Innobase
|
| Список | pgsql-general |
"Guy Rouillier" <guyr@masergy.com> writes:
> Doug Quale wrote:
>>
>> # select 'a'::char(8) = 'a '::char(8);
>> ?column?
>> ----------
>> t
>> (1 row)
>>
>> Trailing blanks aren't significant in fixed-length strings, so the
>> question is whether Postgresql treats comparison of varchars right.
>
> This result is being misinterpreted.
>
> select length('a'::char(8)) ==> 1
> select length('a '::char(8)) ==> 1
>
> So it isn't that the two different strings are comparing equal. The
> process of casting them to char(8) is trimming the blanks, so by the
> time they become fixed length strings, they are indeed equal.
Huh??? What version of PG are you using? On 7.4.9,
test=# select length('a'::char(8));
length
--------
8
(1 row)
test=# select length('a '::char(8));
length
--------
8
(1 row)
The truncation you describe would simply be wrong.
В списке pgsql-general по дате отправления: