8.1.5没什么问题啊
SQL> create table b (aaa varchar2(100));表已创建。SQL> insert into b values('小王庄镇徐庄子村宿舍楼');已创建 1 行。SQL> select lengthb(aaa) from b;LENGTHB(AAA)
------------
          22SQL> select length(aaa) from b;LENGTH(AAA)
-----------
         11

解决方案 »

  1.   

    LENGTHB(SITUATED)为字节数
    可能有一位空格
      

  2.   

    不好意思 上面发的帖子不全,现在重新发
    数据库中有一行数据很奇怪
    显示的没有问题内容是‘小王庄镇徐庄子村宿舍楼’,但是用LENGTHB(SITUATED)显示是23,奇怪!不知道为什么?也不知道是怎么产生的。字段名字是 SITUATED 类型是 varchar2(80)SQL> select situated from temp_serv where serv_seq=1;SITUATED
    --------------------------------------------------------------------------------小王庄镇徐庄子村宿舍楼SQL> select lengthb(situated) from temp_serv where serv_seq=1;LENGTHB(SITUATED)
    -----------------
                   23SQL> select dump(situated,1010) from temp_serv where serv_seq=1;DUMP(SITUATED,1010)
    --------------------------------------------------------------------------------Typ=1 Len=23 CharacterSet=ZHS16GBK: 208,161,205,245,215,175,213,242,208,236,215,175,215,211,180,229,203,222,201,225,194,165,0
    SQL> select dump(situated,17) from temp_serv where serv_seq=1;DUMP(SITUATED,17)
    --------------------------------------------------------------------------------Typ=1 Len=23: d0,a1,cd,f5,d7,af,d5,f2,d0,ec,d7,af,d7,d3,b4,e5,cb,de,c9,e1,c2,a5,^@
    SQL> select dump(situated,1016)  from temp_serv where serv_seq=1;DUMP(SITUATED,1016)
    --------------------------------------------------------------------------------Typ=1 Len=23 CharacterSet=ZHS16GBK: d0,a1,cd,f5,d7,af,d5,f2,d0,ec,d7,af,d7,d3,b4,e5,cb,de,c9,e1,c2,a5,0
      

  3.   

    bzszp(SongZip) 
    谢谢你的回复不过这中情况 肯定不简单的 insert 产生的
    我的字符集是 ZHS16GBK 这几个字 都很常用 不是insert产生的问题
    如果 insert 产生了这个情况 ,那 oracle 也太烂了