create talbe A(
               name varchar2(50 char)
) 和
create table A(
               name varchar2(50)
)有什么区别啊 

解决方案 »

  1.   

    name varchar2(50 char)
    这个应该是相当于 name char(50)吧
    char是固定的长度
    varchar2是可变长度
      

  2.   

    varchar2(50 char) 声明可存储 50 个字符。而 varchar2(50) 默认相当于 varchar2(50 byte),即可存储 50 字节的数据。具体的,varchar2(50) 具体指的是 50 个字符,还是 50 个字节,取决于 NLS_LENGTH_SEMANTICS 参数的设置(默认 byte)。根据数据库使用字符集的不同,1 个字符可以占用 1 到 4 个字节。