对不起,写错了,sql语句中采用的函数为lengthb()得到结果4000
采用length()得到结果为2000

解决方案 »

  1.   

    csdn为什么不提供帖子编辑功能呢?
      

  2.   

    lengthb()函数和length()函数的区别要分清。
    你的那列存放的肯定的是汉字。
    lengthb返回字节的多少。
    length返回字符的多少。
    一个汉字钻两个字节。
      

  3.   

    5个varchar(4000)的列每个列存放2000个纯汉字(不含标点、英文、空格等单字节字符)。
    对单个varchar(4000)的列采用lengthb(content)--------4000
                               length(content)---------2000采用lengthb(content||content1||content2||content3||content4||content5)------4000
        length(content||content1||content2||content3||content4||content5)-------2000为什么一个列的长度和6个列长度之和相等呢?
      

  4.   

    你亲自试过了select lengthb(content) from tbl了,不要说你是猜的?
      

  5.   

    还有,哪位知道oracle是否限制行的长度,就像mssql中限制一行不能大于8060?
      

  6.   

    我的9.0.0.1超过了4000个字节会报错的。不知道你的是为什么!
    SQL> select length(a) from s1; LENGTH(A)                                                                      
    ----------                                                                      
            40                                                                      
          1870                                                                      SQL> select length(a||a) from s1;
    ERROR:
    ORA-01489: 字符串连接的结果过长 未选定行