Re: char column with a single space as the default not working

Поиск
Список
Период
Сортировка
От Ron Johnson
Тема Re: char column with a single space as the default not working
Дата
Msg-id CANzqJaA5Az_2z8X3_T3ieypvqQkFDuEbbtF7Uu0L0tXEKiyXjw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: char column with a single space as the default not working  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: char column with a single space as the default not working  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: char column with a single space as the default not working  (Laurenz Albe <laurenz.albe@cybertec.at>)
Список pgsql-admin
On Thu, Nov 30, 2023 at 2:56 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Peter Gram <peter.m.gram@gmail.com> writes:
> I think it behaves as expected. Look at my select "select
> encode(charcol::bytea, 'hex') , intcol from z;" it returns 20 which is a
> space in hex

Yeah, the space is stored.  What is probably surprising the OP
is that applying the || operator involves a coercion from "char"
to "text", which strips the defined-to-be-insignificant trailing
space(s) of the "char" value.

As David said, you're best off not using the char type.
The semantics around trailing spaces are too squishy for
my taste, and there's no real advantage compared to varchar
or text.

How do you get a trailing space when trailing spaces are significant?

В списке pgsql-admin по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: char column with a single space as the default not working
Следующее
От: Tom Lane
Дата:
Сообщение: Re: char column with a single space as the default not working