mc为varchar2(100)
请问是怎么回事?

解决方案 »

  1.   

    你用lengthb看看是多长
    select max(lengthb(t.mc)) from table t
      

  2.   

    lengthb的结果大于50,为什么会这样?
    lengthb不是字节长度嘛,mc既然是varchar2,为什么length得不出准确长度
      

  3.   

    length()计算输入字符集字符的长度,如果是中文字符集,一个中文作为一个字符处理.
    lengthb()计算输入字符集字符的字节长度,如果是中文字符集,一个中文作为两个字节处理.
    varchar2定义的是字节长度.
    nvarchar2定义的是对应国家字符集的字符长度.
      

  4.   

    下面两种列长度的定义当有出数字和英文字符以外字符出现时可能会有区别。
    VARCHAR2(12 BYTE)
    VARCHAR2(12 CHAR)