The basic difference is that NLS_CHARACTERSET controls the character set
used to encode CHAR and VARCHAR2 columns while NLS_NCHAR_CHARACTERSET
controls the character set used to encode NCHAR and NVARCHAR2 columns.
If your database character set (NLS_CHARACTERSET) allows you to encode
all the characters your application needs or wants to encode, you would
normally ignore the national character set (NLS_NCHAR_CHARACTERSET)
because working with NCHAR and NVARCHAR2 data types tends to get
somewhat complex. Occasionally, you would choose a UTF16 National
character set in addition to a UTF8 database character set if you are
storing a lot of Asian characters and want to save on space (Asian
characters require 2-bytes in the UTF16 encoding and normally require 3
bytes in the UTF8 encoding) and are willing to make the trade-off for
more complexity.
National character sets also tend to come in to play in databases where
you cannot change the database character set and need to add support for
encoding characters that are not represented in the database character
set. In 9i and later, only the Unicode character sets are valid values
for the National character set.
Justin Cave
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC
-----Original Message-----
From: Sreedhar_Bhaskararaju
[mailto:oracledba-ezmlmshield-x25362953.[Email address protected]
Sent: Wednesday, May 04, 2005 3:42 AM
To: LazyDBA Discussion
Subject: Diff NLS_CHARACTERSET & NLS_NCHAR_CHARACTERSET
Hi All,
What is the relation between NLS_CHARACTERSET and
NLS_NCHAR_CHARACTERSET, How to choose NLS_NCHAR_CHARACTERSET for a given
NLS_CHARACTERSET.
Regs,
Sree
--------
website: http://www.LazyDBA.com
Please don't reply to RTFM questions
Oracle documentation is here: http://tahiti.oracle.com
To unsubscribe: see http://www.lazydba.com/unsubscribe.html
To subscribe: see http://www.lazydba.com
By using this list you agree to these
terms:http://www.lazydba.com/legal.html
Oracle LazyDBA home page