oracle varchar2(45)只能插入10个汉字,怎么回事?
本来应该可以插入15个汉字的

解决方案 »

  1.   

    linux 下是可以插入15个汉字 
    具体的操作 是否还有空格或者其他的字符
      

  2.   

    建议用 utl_raw.cast_to_raw(c varchar2) 函数将字符转换为二进制检查一下。
      

  3.   

    纠正一下,结合#2的看法,刚才查了下资料。这个其实和Oracle的配置是相关的,用以下语句查询:
       select * from v$nls_parameters t where t.PARAMETER='NLS_CHARACTERSET';
    可以查询到当前数据库的字符集,如果value=GB2312,那么一个汉字占用2个字节,如果value=AL32UTF8,那么一个汉字占用3个字节。
    Linux中不同吗?
      

  4.   

    是不是有空格之类的,length(栏位)看下你insert的数据长度
      

  5.   

    我數據庫有3個字段
    第一個字段是varchar2(45)
    第二個和第三個字段是varchar2(20)在程序裏面這三個字段插入的都是同一個值  發現第二個和第三個字段的長度設短了