小编Uts*_*sav的帖子

NVARCHAR2 列的精度比 desc 命令显示的精度低 1.5 倍

我想更新nvarchar2列的精度并遇到了一个有趣的案例。我试图在下面复制它:

create table test_table1
 (col1 nvarchar2(100));

table TEST_TABLE1 created.

desc test_table1
Name Null Type           
---- ---- -------------- 
COL1      NVARCHAR2(150) 
Run Code Online (Sandbox Code Playgroud)

我们观察到nvarchar2列的显示精度是指定精度的 1.5 倍。因此,如果我必须复制类型为 的列的精度NVARCHAR2(375),那么我们需要将其声明为NVARCHAR2(250).

我试图寻找解释,但找不到任何解释。有没有人对此有任何想法?我们正在使用 Oracle-11g,与 Oracle SQL Developer 连接。

NLS_SESSION_PARAMETERS

select * from NLS_SESSION_PARAMETERS;

+-------------------------+------------------------------+
|        PARAMETER        |            VALUE             |
+-------------------------+------------------------------+
| NLS_LANGUAGE            | AMERICAN                     |
| NLS_TERRITORY           | AMERICA                      |
| NLS_CURRENCY            | $                            |
| NLS_ISO_CURRENCY        | AMERICA                      |
| NLS_NUMERIC_CHARACTERS  | .,                           |
| NLS_CALENDAR            | GREGORIAN                    |
| …
Run Code Online (Sandbox Code Playgroud)

oracle oracle-11g datatypes oracle-sql-developer

6
推荐指数
1
解决办法
639
查看次数