[prev in list] [next in list] [prev in thread] [next in thread] 

List:       postgresql-general
Subject:    Re: Fixed chars
From:       Enrico Pirozzi <e.pirozzi () nbsgroup ! it>
Date:       2018-03-28 9:53:17
Message-ID: 7947a8b7-a908-3976-eb02-2810e480a267 () nbsgroup ! it
[Download RAW message or body]

Resolved...my missing


Thanks

Enrico


https://www.postgresql.org/docs/10/static/datatype-character.html

"Values of type|character|are physically padded with spaces to the 
specified width/|n|/, and are stored and displayed that way. However, 
trailing spaces are treated as semantically insignificant and 
disregarded when comparing two values of type|character|. In collations 
where whitespace is significant, this behavior can produce unexpected 
results; for example|SELECT 'a '::CHAR(2) collate "C" < 
E'a\n'::CHAR(2)|returns true, even though|C|locale would consider a 
space to be greater than a newline. Trailing spaces are removed when 
converting a|character|value to one of the other string types. Note that 
trailing spaces/are/semantically significant in|character 
varying|and|text|values, and when using pattern matching, that 
is|LIKE|and regular expressions."


Il 28/03/2018 11:32, Andreas Kretschmer ha scritto:
>
>
> Am 28.03.2018 um 11:11 schrieb Enrico Pirozzi:
>> Hi , I've seen this strange thing.
>>
>> sitedb=# create table test_tb(codice char(7));
>> CREATE TABLE
>> sitedb=# insert into test_tb values('pippo');
>> INSERT 0 1
>> sitedb=# select codice || 'a'::char(1),length(codice) from test_tb
>>  ?column? | length
>> ----------+--------
>>  pippoa   |      5
>> (1 row)
>>
>
> where is the problem? length() returns the number of chars in string, 
> and the string in codice is 5 chars long.
>
>
>>
>> On the official documentation
>>
>> |character(/|n|/)|,|char(/|n|/)|     fixed-length, blank padded
>>
>> https://www.postgresql.org/docs/10/static/datatype-character.html
>
> test=*# select length('12345'::char(10)), 
> pg_column_size('12345'::char(10));
>  length | pg_column_size
> --------+----------------
>       5 |             14
> (1 Zeile)
>
>
>
> helps that?
>
>
> Regards, Andreas
>

-- 
Enrico Pirozzi
NBS Group S.r.l.
via Val Tiberina 23/A
63074, San Benedetto del Tronto (AP)
Tel. 0735-7626201



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic