oracle中vsize和length

时间:2023-03-09 19:33:30
oracle中vsize和length
其实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 a10 sec@ora10g> col DUMP(X) for a30 sec@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,175
H侯 2 4 Typ=1 Len=4: 72,228,190,175 4.结论 “H”包含1个字符,长度是1 byte;
“侯”包含1个字符,长度是3 bytes;
“H侯”包含2个字符,长度是4 bytes。 转自 : https://zhidao.baidu.com/question/1177251446363924539.html