猿问

Oracle的函数vsize和length的区别讨论?

Oracle的函数vsize和length的区别讨论


HUH函数
浏览 654回答 1
1回答

一只萌萌小番薯

其实LENGTH与VSIZE这两个函数联系不大,区别很大。虽然都是“取长度”,但是LENGTH函数结果是“有多少个字符”,VSIZE结果是“需要多少bytes”。简单看一下这两个函数。1.创建表T并初始化三条数据sec@ora10g>create table t (x varchar2(10));sec@ora10g> insert into t values ('H');sec@ora10g> insert into t values ('侯');sec@ora10g> insert into t values ('H侯');sec@ora10g> commit;2.查看表T中的数据sec@ora10g> select * from t;X----------H侯H侯3.比较LENGTH和VSIZE两个函数的结果sec@ora10g> col x for a10sec@ora10g> col DUMP(X) for a30sec@ora10g> select x, length(x), vsize(x), dump (x) from t;X LENGTH(X) VSIZE(X) DUMP(X)---------- ---------- ---------- ------------------------------H 1 1 Typ=1 Len=1: 72侯 1 3 Typ=1 Len=3: 228,190,175H侯 2 4 Typ=1 Len=4: 72,228,190,1754.结论“H”包含1个字符,长度是1 byte;“侯”包含1个字符,长度是3 bytes;“H侯”包含2个字符,长度是4 bytes。
随时随地看视频慕课网APP

相关分类

Oracle
我要回答