Re: The same result for with SPACE and without SPACE

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: M Sarwar <sarwarmd02(at)outlook(dot)com>
Cc: Scott Ribe <scott_ribe(at)elevated-dev(dot)com>, "Wetmore, Matthew (CTR)" <Matthew(dot)Wetmore(at)express-scripts(dot)com>, mahesh <mahesha_dba(at)yahoo(dot)com>, Mohammed Aslam <hmdaslam97(at)gmail(dot)com>, "pgsql-admin(at)lists(dot)postgresql(dot)org" <pgsql-admin(at)lists(dot)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: The same result for with SPACE and without SPACE
Date: 2023-06-15 18:04:41
Message-ID: CAKFQuwY8PhVM9f3V=ojqd77mggPXhywLVUo_JU=BE1sg-e33TQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-advocacy

On Thu, Jun 15, 2023 at 10:44 AM M Sarwar <sarwarmd02(at)outlook(dot)com> wrote:

> Hello Scott and all,
>
> Here the question comes with respect to CHAR(10) to CHARACTeR VARYING( 10
> ) comparison results.
> char_10 - type character ( 10 )
> var_char_10 - type character varying ( 10)
>
> When I do the comparison between char_10 and var_char_10 columns, I may
> get the wrong results.
> var_char_10 is always trimmed from right.
>

NO. varchar is never trimmed in this sense. Though casting to a
varchar(n) will result in truncation of the input value to n characters -
regardless of what those characters are.

> char_10 has padded data of blank or spaces.
> Now I compare char*10 and var_char_10 columns, I will get the wrong
> results because char*_10 has padded spaces.
>
> Is that correct or will it ignore whitespaces at the end of char_10 column?
>
>
Testing shows that the varchar value gets promoted to char, not the other
way around.

postgres=# select '123 '::char(5) = '123 '::varchar;
?column?
----------
t
(1 row)

postgres=# select ('123 '::char(5))::varchar = '123 '::varchar;
?column?
----------
f
(1 row)

No one memorizes char behavior - if you must use it then test your code,
and maybe be extra explicit with your casting too.

David J.

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Flavio Henrique Araque Gurgel 2023-06-15 20:15:19 Re: is there pgadmin interface with Hashicorp Vault or command line interface to use master password and update password repository
Previous Message M Sarwar 2023-06-15 17:43:51 Re: The same result for with SPACE and without SPACE

Browse pgsql-advocacy by date

  From Date Subject
Next Message M Sarwar 2023-06-15 22:50:12 Re: The same result for with SPACE and without SPACE
Previous Message M Sarwar 2023-06-15 17:43:51 Re: The same result for with SPACE and without SPACE