在SQL Developer中,表列长度为100,但视图列长度为150

在SQL Developer中,表列长度为100,但视图列长度为150,sql,oracle,oracle-sqldeveloper,Sql,Oracle,Oracle Sqldeveloper,我使用的是SQL Developer 19.1.0。以及Oracle数据库12c标准版12.1.0.2.0-64位产品 我已经在表上创建了一个视图。在SQL Developer中,当我双击该表时,它将列的数据类型显示为nvarhar2(100个字符),但当我双击视图时,它将数据类型显示为nvarhar2(150个字符) 类似地,视图中所有nvarhar2列的长度显示为表列长度的1.5倍 原因是什么?如何解决 编辑-添加以下DB参数 NLS_RDBMS_VERSION 12.1

我使用的是SQL Developer 19.1.0。以及Oracle数据库12c标准版12.1.0.2.0-64位产品

我已经在表上创建了一个视图。在SQL Developer中,当我双击该表时,它将列的
数据类型显示为
nvarhar2(100个字符)
,但当我双击视图时,它将
数据类型显示为
nvarhar2(150个字符)

类似地,视图中所有
nvarhar2
列的长度显示为表列长度的1.5倍

原因是什么?如何解决

编辑-添加以下DB参数

NLS_RDBMS_VERSION           12.1.0.2.0
NLS_NCHAR_CONV_EXCP         FALSE
NLS_LENGTH_SEMANTICS        BYTE
NLS_COMP                    BINARY
NLS_DUAL_CURRENCY           $
NLS_TIMESTAMP_TZ_FORMAT     DD-MON-RR HH.MI.SSXFF AM TZR
NLS_TIME_TZ_FORMAT          HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_FORMAT        DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_FORMAT             HH.MI.SSXFF AM
NLS_SORT                    BINARY
NLS_DATE_LANGUAGE           AMERICAN
NLS_DATE_FORMAT             DD-MON-RR
NLS_CALENDAR                GREGORIAN
NLS_NUMERIC_CHARACTERS      .,
NLS_NCHAR_CHARACTERSET      UTF8
NLS_CHARACTERSET            AL32UTF8
NLS_ISO_CURRENCY            AMERICA
NLS_CURRENCY                $
NLS_TERRITORY               AMERICA
NLS_LANGUAGE                AMERICAN

当我使用用户描述命令来查看表和视图时,我得到了NVARCHAR2(150)

请包含用于创建视图的
CREATE view
语句。在SQL Developer 19.2中,我没有看到这一点。通过一个非常基本的视图(
create view…as select*from…
),该表显示了
NVARCHAR2(100个字符)
,该视图显示了带有“CHAR”的
NVARCHAR2(100)
。可能是早期(或更高版本!)版本错误地调整了显示的数字,这是一个显示问题,而不是影响实际数据的问题。您使用的是哪个版本,您的数据库和国家字符集是什么?如果从工作表或SQL*Plus中描述表和视图,您会看到什么?当我使用DESC命令时,表和视图都会得到NVARCHAR2(150)。NLS\u NCHAR\u CHARACTERSET=UTF8 NLS\u CHARACTERSET=AL32UTF8在问题中添加了更多细节