我想知道在Oracle中NLS_NCHAR_CHARACTERSET
和NLS_CHARACTERSET
设置之间的区别。
据我所知,NLS_NCHAR_CHARACTERSET
用于NVARCHAR
数据类型,而NLS_CHARACTERSET
用于VARCHAR2数据类型。
我尝试在我的开发服务器上测试此设置,我的当前CHARACTERSET
设置如下:
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET US7ASCII
然后我将一些中文字符值插入到数据库中。我将这些字符插入到名为data_<seqno>
的表中,并更新了VARCHAR2
列的ADDRESS
和ADDRESS_2
列。根据我对当前设置的NLS_CHARACTERSET
为US7ASCII
的了解,应该不支持中文字符,但它仍然显示在数据库中。是否NLS_NCHAR_CHARACTERSET
优先于此设置?
谢谢。