oracle中substr函数以及字符串长度函数使用 oraclesubstrlength()字符串处理
程序员文章站
2022-05-31 10:06:28
...
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
参数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