Character set specifies the method database uses to encode data. In an Oracle database, when a column is defined as VARCHAR2, each character in that column is stored in a byte (8 bits).
When a column is defined as NVARCHAR2, each character in that column are stored in multibyte, ie, each character takes more than one byte to store a single character.
There is no influence of character set in the way numbers are stored.
It is used for multibyte datatypes like NCHAR, NVARCHAR2, NCLOB etc. While creating database using CREATE DATABASE command, we specify this character set using NATIONAL CHARACTER SET clause. It encodes unicode characters in UTF16 (Universal Character Set Transformation Format 16 bit) format.
This character set is used for datatypes like CHAR, VARCHAR2, CLOB etc. This character set is specified using CHARACTER SET clause while creating database.
National character set is an alternative characterset to store unicode characters.
To find the character set and national character set, use view NLS_DATABASE_PARAMETERS
col parameter for a30 col value for a30 SELECT * FROM sys.nls_database_parameters WHERE parameter in ('NLS_NCHAR_CHARACTERSET', 'NLS_CHARACTERSET');
Following are all the available Oracle's 8 bit encoding format
Following are all the Oracle's 16 bit encoding format
Following are all the available Oracle's 32 bit encoding format
What are all the popular languages that cannot be encoded in 16 bit?
Does character set affect the way numbers are encoded or there is only one way to encode numbers?