This content has been marked as final. Show 3 replies
What's Oracle version?
What's NLS_LENGTH_SEMANTICS setting ?
Do you have all English characters?
The problem here is varchar2 has size limit of 4000 bytes.
For single byte character set, that translate to 4000 characters.
However, for multi-byte character set like UTF8, some character require more than one byte to save, for example chinese character need 3 bytes per character. So your varchar2(4000) columns could not save 4000 characters in some cases and that could result data truncation. If you really need guaranteed to save 4000 characters in column you might have to use CLOB type.