ORA-01480   trailing   null   missing   from   STR   bind   value     
ORA-01480:str赋值变量缺少空后缀。我已经把varchar2()设置到4000了,如果没有超过2000的话是可以保存的,超过了就提示这个,我是直接操作数据库表

解决方案 »

  1.   

    字符集问题,你查看一下你使用的是什么字符集:SELECT Parameter, Value FROM NLS_DATABASE_PARAMETERS where parameter = 'NLS_CHARACTERSET'估计是ZHS16CGB231280类似的。一个中文字符在ZHS16CGB231280编码下要占两个字节,而varchar2(4000)是4000字节,自然只能保存4000个中文字符。
      

  2.   

    你执行一下select lengthb('中文') from dual就明白了。
      

  3.   

    select   lengthb('中文')   from   dual 结果是4 可我只要超过1000个中文就会非法啊,
    SELECT   Parameter,   Value   FROM   NLS_DATABASE_PARAMETERS   where   parameter   =   'NLS_CHARACTERSET' 
    结果是ZHS16GBK