length,lengthb和substr,subtrab

来源:互联网 发布:手机淘宝 beta已过期 编辑:程序博客网 时间:2024/05/22 07:07

length表示的是字符串的字符长度,lengthb表示的是字符串的字节长度;

substr表示根据字符长度获取子串,substrb表示根据字节长度获取字符串。

SELECT LENGTH('length,lengthb测试')FROM dual;--字符数

 

SELECT LENGTHB('length,lengthb测试')FROM dual; --字节数

 

SELECT SUBSTR('测试length,lengthb测试',1,5)FROM dual;

 

SELECT SUBSTRB('测试length,lengthb测试',1,5)FROM dual;


esle1:

一个中文汉字占用几个字节,由oracle服务器端字符集编码决定

select userenv('language') from dual;

SIMPLIFIED CHINESE_CHINA.ZHS16GBK --个汉字占两个字节

SIMPLIFIED CHINESE_CHINA.AL32UTF8 一个汉字占三个字节

也可以select lengthb('你') from dual来查询。

else2:

oracle中定义字符类型的时候默认长度是bytes,比如varchar(20)表示的是20个字节长度,
如果是在ZHS16GBK,也就是只能存放十个汉字。


0 0
原创粉丝点击