I have created 2 tables and inserting data as below---
SQL> create table t (aa nvarchar2(10));
Table created.
SQL> create table t1 (aa varchar2(10));
Table created.
Now, inserting some french characters like below--
SQL> insert into t values ('Éé, Eè, Eê, Eë');
insert into t values ('Éé, Eè, Eê, Eë')
*
ERROR at line 1:
ORA-12899: value too large for column "CDUREFDB"."T"."AA" (actual: 14, maximum:
10)
SQL> insert into t1 values ('Éé, Eè, Eê, Eë');
insert into t1 values ('Éé, Eè, Eê, Eë')
*
ERROR at line 1:
ORA-12899: value too large for column "CDUREFDB"."T1"."AA" (actual: 21,
maximum: 10)
The question is why there is difference in error message in both inserts.
Below is NLS parameters details:
SQL> SELECT *
2 FROM v$nls_parameters
3 WHERE parameter LIKE '%CHARACTERSET'
4 ;
PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_CHARACTERSET
AL32UTF8
NLS_NCHAR_CHARACTERSET
UTF8
And I am using Oracle 11g
version.
Also, is it recommended to use NVARCHAR2(NCHAR etc.)
for non-english characters in oracle?
Thanks.