使用ORACLE的人应该都用过oracle中的substr函数,函数作用就不说了。
substr函数是一个功能比较强大的函数,有比较多的用法,本文将详细说明。 以下是函数调用原型 substr(string,postion[,substring_length]) string:原字符串,没什么好讲的,就是要检索的原字符串
postion:开始检索的位置, 如果大于0则表示从第一个字符开始向后算 如果小于0则表示从最后一个字符开始向前算,如果向前时小于原字符串的长度则表达式返回空 如果等于0则认为是从第一个字符串开始 如果有小数则把小数舍去 substring_length:检索的字符串长度 如果大于0则表示返回的字符数,如果计算后原字符串的字符数小于substring_length,则返回到最后的字符串 如果小于等于0则返回空 如果有小数则把小数舍去 如果没有这个参数则表示取到最后 以下是substr使用的各种示例
取左边的3个字符
substr('ABCDEFG',1,3)='ABC' 取从第3个字符开始的2个字符
substr('ABCDEFG',3,2)='CD' 取右边的3个字符
substr('ABCDEFG',-3)='EFG' 取从第6个字符开始到最后的字符串
substr('ABCDEFG',6)='FG' 取倒数第5个字符开始的2个字符
substr('ABCDEFG',-5,2)='CD' 如果向前时小于原字符串的长度则表达式返回空 substr('ABCDEFG',-8,7)='' 小数舍去 substr('ABCDEFG',2.6,2.2)='BC' 备注: substr是按字符来计算,一个字母或汉字都按一个字符计算如: substr('智能ABC',2,2)='能A' 如果想要按字节来计算则可以采用substrb函数,用法一样 substrb('智能ABC',3,4)='能AB' 当然还有另外几个按不同编码计算的函数
substrc:按Unicode编码, substr2:按UCS2编码, substr4:按UCS4编码。 |
|