"Alexander Kirpa" <[EMAIL PROTECTED]> writes: > select '['||a||']' as aa,'['||b||']' as bb from test1; > aa | bb > ----------+---------- > [ok] | [ok] > [ bad] | [ bad ] > [ poor] | [ poor] > (3 rows) > It is easy to see that char(x) field really blank stripped. > This is bug of server or documentation?
>From the documentation: > Values of type character are physically padded with spaces to the specified > width n, and are stored and displayed that way. However, the padding spaces > are treated as semantically insignificant. Trailing spaces are disregarded > when comparing two values of type character, and they will be 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. Concatenation is an example of an operation where the padding spaces are treated as semantically insignificant, so they get removed before the concatenation. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match