oracle中substr函数以及字符串长度函数使用

1、substr(string string, int a, int b)
参数1:string 要处理的字符串
参数2:a 截取字符串的开始位置(起始位置是0)
参数3:b 截取的字符串的长度(而不是字符串的结束位置)
例如:
substr("ABCDEFG", 0, 3); //返回:ABC,截取从A开始3个字符
substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。
substr("ABCDEFG", -3, 3); //返回:EFG,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变。

2、substr(string string, int a)

参数1:string 要处理的字符串
参数2:a 可以理解为从索引a(注意:起始索引是0)处开始截取字符串,也可以理解为从第 (a+1)个字符开始截取字符串。
例如:
substr("ABCDEFG", 0); //返回:ABCDEFG, 截取所有字符
substr("ABCDEFG", 2); //返回:BCDEFG,截取A之后所有字符

3.length()和lengthb();
lengthb(string)计算string所占的字节长度 :返回字符串的长度,单位是字节;
length(string)计算string所占的字符长度 :返回字符串的长度,单位是字符;

用法举例:
1.可以用length(‘string’)=lengthb(‘string’)判断字符串是否含有中文;
2.select length('我') from dual   --返回1
  select lengthb('我') from dual  --返回2
  select length('AB') from dual   --返回2
  select lengthb('AB') from dual  --返回2

猜你喜欢

转载自lafecat.iteye.com/blog/2064191