SQL> CREATE TABLE chartest (charval1 CHAR(10) NOT NULL,charval2 CHAR(10) NOT NULL,varcharval VARCHAR(30) NOT NULL); Table created. SQL> INSERT INTO chartest VALUES ('aaa','aaa','aaa'); 1 row created. SQL> INSERT INTO chartest VALUES ('aaaaaa ','aaa','aaa'); INSERT INTO chartest VALUES ('aaaaaa ','aaa','aaa') * ERROR at line 1: ORA-01401: inserted value too large for column SQL> INSERT INTO chartest VALUES ('aaaaaaaaaaaa','aaa','aaa'); INSERT INTO chartest VALUES ('aaaaaaaaaaaa','aaa','aaa') * ERROR at line 1: ORA-01401: inserted value too large for column SQL> SELECT * FROM chartest; CHARVAL1 CHARVAL2 VARCHARVAL ---------- ---------- ------------------------------ aaa aaa aaa SQL> DELETE FROM chartest WHERE charval1='aaaaaa'; 0 rows deleted. SQL> SELECT * FROM chartest; CHARVAL1 CHARVAL2 VARCHARVAL ---------- ---------- ------------------------------ aaa aaa aaa SQL> SELECT * FROM chartest WHERE charval1=varcharval; no rows selected SQL> SELECT charval1 || 'X' AS res FROM chartest; RES ----------- aaa X SQL> SELECT LENGTH(charval1 || charval2) AS res FROM chartest; RES ---------- 20 SQL> SELECT LENGTH(charval1) + LENGTH(charval2) AS res FROM chartest; RES ---------- 20