oracle中replace、length、lengthb、substr、substrb函数

1、replace
replace(x,y,z)返回值为将字符串X中的Y串用Z串替换后的结果字符串。
replace(x,y)返回值将字符串X中为Y串的地方删除
例:
epacel('aaabbb','bbb','ccc')
结果:aaaccc

2、length表示的是字符串的字符长度
SELECT length('叶德华abc') FROM dual;
结果:
-- length按字符计,汉字、英文、数字都是1个字符,故这里返回6
3、lengthb表示的是字符串的字节长度;
SELECT lengthb('叶德华abc') FROM dual'
结果:
-- length按字节计,我这里是UTF-8编码,汉字3个字节,英文一个字节,故这里返回12

4、substr表示根据字符长度获取子串,
SELECT substr('叶德华abc',1,4)FROM dual;
结果:
-- substr按字符截取,截取到a,返回:叶德华a      

5、substrb表示根据字节长度来获取字串。
SELECT substrb('叶德华abc',1,2)  FROM dual;
结果:
 -- substrb按字节截取,2不足一个汉字长度,返回:两个空格

SELECT substrb('叶德华abc',1,3)  FROM dual;
 -- substrb按字节截取,3刚好是一个汉字长度,返回:叶 SELECT substrb('叶德华abc',1,4)  FROM dual;
-- substrb按字节截取,4多余一个汉字少于两个汉字,返回:叶 加一个空格




posted @ 2016-11-23 11:48  YuanY  阅读(1845)  评论(0编辑  收藏  举报