1.substr(MateriaID,length(MateriaID)-7,8)
select substr(MateriaID,length(MateriaID)-7,8) from table where ...
2.函数的解释
//关于substr()第二个参数的起始位置有的说是1,有的说是0.从实践来看是从1开始的。
substr(string string, int a, int b)
//下面的字符串的开始位置从1开始。
参数1:string 要处理的字符串
参数2:a 截取字符串的开始位置(起始位置是1)
参数3:b 截取的字符串的长度(而不是字符串的结束位置)
例如:
substr("ABCDEFG", 1); //返回:ABCDEFG,截取所有字符
substr("ABCDEFG", 3,100); //返回:CDEFG,截取从C开始之后所有字符
substr("ABCDEFG", 1, 3); //返回:ABC,截取从A开始3个字符
substr("ABCDEFG",1,100); //返回:ABCDEFG,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。
substr("ABCDEFG", -3, 3); //返回:EFG,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变。
3.oracle中length()和lengthb()的区别
length():统计的是字符的长度;lengthb():统计字节的长度.
举例:length(“大家好”); //结果为:3
length("大家好"); //结果为:6