Oracle中的字符与字节

Oracle中的字符与字节,oracle,character-encoding,char,byte,Oracle,Character Encoding,Char,Byte,我正在比较两个具有相似模式的数据库。两者都应该支持unicode字符 当我在两个数据库中描述同一个表时,DB1显示所有带char的varchar字段(例如varchar(20 char)),而db2显示不带char的varchar(20 char),(varchar(20) 第二个模式只支持一个字节/字符 当我比较两个数据库中的nls\u数据库参数和v$nls\u参数时,它们都是相同的 有人能告诉我这里可能有什么变化吗?您是否检查了NLS\u LENGTH\u语义?您可以将CHAR/VARCHA

我正在比较两个具有相似模式的数据库。两者都应该支持unicode字符

当我在两个数据库中描述同一个表时,DB1显示所有带char的varchar字段(例如
varchar(20 char))
,而db2显示不带char的varchar(20 char),
(varchar(20)

第二个模式只支持一个字节/字符

当我比较两个数据库中的
nls\u数据库参数
v$nls\u参数
时,它们都是相同的


有人能告诉我这里可能有什么变化吗?

您是否检查了NLS\u LENGTH\u语义?您可以将CHAR/VARCHAR2类型的默认值设置为BYTE或CHAR


如果两个DATBASE上的这些参数相同,那么可能是通过以这种方式显式指定来创建表的。

它们不是warchar2不是varchar吗?@San-从
v$nls\u parameters
中的数据库字符集是什么?数据库字符集是
AL32UTF8
吗?到底是什么问题?
CHAR
vsde>BYTE语义不会影响列中可以存储的字符。它们可能会根据特定字符影响列中可以存储的字符数。