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
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
可能有一位空格
数据库中有一行数据很奇怪
显示的没有问题内容是‘小王庄镇徐庄子村宿舍楼’,但是用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
谢谢你的回复不过这中情况 肯定不简单的 insert 产生的
我的字符集是 ZHS16GBK 这几个字 都很常用 不是insert产生的问题
如果 insert 产生了这个情况 ,那 oracle 也太烂了