troels=> CREATE TABLE chartest ( troels(> charval1 CHAR(10) NOT NULL, troels(> charval2 CHAR(10) NOT NULL, troels(> varcharval VARCHAR(30) NOT NULL troels(> ); CREATE TABLE troels=> INSERT INTO chartest VALUES ('aaa','aaa','aaa'); INSERT 11385307 1 troels=> INSERT INTO chartest troels-> VALUES ('aaaaaa ','aaa','aaa'); -- should truncate to 'aaaaaa ' INSERT 11385308 1 troels=> INSERT INTO chartest troels-> VALUES ('aaaaaaaaaaaa','aaa','aaa'); -- should raise error ERROR: value too long for type character(10) troels=> SELECT * FROM chartest; -- should show two rows charval1 | charval2 | varcharval ------------+------------+------------ aaa | aaa | aaa aaaaaa | aaa | aaa (2 rows) troels=> DELETE FROM chartest WHERE charval1='aaaaaa'; DELETE 1 troels=> SELECT * FROM chartest; -- should show one row charval1 | charval2 | varcharval ------------+------------+------------ aaa | aaa | aaa (1 row) troels=> SELECT * FROM chartest WHERE charval1=varcharval; charval1 | charval2 | varcharval ------------+------------+------------ aaa | aaa | aaa (1 row) troels=> SELECT charval1 || 'X' AS res FROM chartest; res ------ aaaX (1 row) troels=> SELECT CHAR_LENGTH(charval1 || charval2) AS res FROM chartest; res ----- 6 (1 row) troels=> SELECT CHAR_LENGTH(charval1) + CHAR_LENGTH(charval2) troels-> AS res troels-> FROM chartest; res ----- 6 (1 row)