INPUT: -- Oracle 9i -- ####################################################### DROP TABLE CHARTEST; -- may give error (OK) CREATE TABLE chartest ( charval1 CHAR(10) NOT NULL, charval2 CHAR(10) NOT NULL, varcharval VARCHAR(30) NOT NULL ); INSERT INTO chartest VALUES ('aaa','aaa','aaa'); INSERT INTO chartest VALUES ('aaaaaaaaaaaa','aaa','aaa'); -- should give error SELECT * FROM chartest; SELECT * FROM chartest WHERE charval1=varcharval; SELECT charval1 || 'X' res FROM chartest; SELECT LENGTH(charval1 || charval2) res FROM chartest; SELECT LENGTH(charval1) + LENGTH(charval2) res FROM chartest; OUTPUT: SQL> -- Oracle 9i -- ####################################################### DROP TABLE CHARTEST; CREATE TABLE chartest ( charval1 CHAR(10) NOT NULL, charval2 CHAR(10) NOT NULL, varcharval VARCHAR(30) NOT NULL ); INSERT INTO chartest VALUES ('aaa','aaa','aaa'); INSERT INTO chartest VALUES ('aaaaaaaaaaaa','aaa','aaa'); -- should give error SELECT * FROM chartest; SELECT * FROM chartest WHERE charval1=varcharval; SELECT charval1 || 'X' res FROM chartest; SELECT LENGTH(charval1 || charval2) res FROM chartest; SELECT LENGTH(charval1) + LENGTH(charval2) res FROM chartest; SQL> SQL> Table dropped. SQL> 2 3 4 5 Table created. SQL> 1 row created. SQL> 2 3 VALUES ('aaaaaaaaaaaa','aaa','aaa'); -- should give error * ERROR at line 2: ORA-00911: invalid character SQL> no rows selected SQL> RES ----------- aaa X SQL> RES ---------- 20 SQL> 2 RES ---------- 20