Oracle函数实现字符串截取(oracle函数截取)
现在,在数据处理中,越来越多的人将Oracle的SQL语句用于字符串的处理,因为它提供了诸如交叉等涉及非字符串的功能,更多的是,在这种情况下,Oracle提供了函数SUBSTR来实现字符串截取。
SUBSTR函数有三个参数,它们分别是输入字符串、开始位置和长度,其中输入字符串是必填参数,并且必须是字符串或字符串表达式,开始位置和长度是可选参数,其默认值分别为1和结束位置;如果输入参数是字符串,它们的默认值均为1,如果是表达式,建议使用字符串本身的长度,假如设置参数过长,无论此字符串有多长,函数都将以 “-1″的状态返回,这种情况下,得不到你翻要的结果,有可能出错。另外,Oracle还定义了另一种SUBSTRB(SUBSTR with byte)函数,它是在处理多字节字符(如汉字)时用来实现字符截取,同上,参数类型及其默认值均一致,否则结果一样。
下面我们把用例分析,假设我们有一个字符串str=”ABCDEFG”,现要求截取字符串从第三个字符开始,截取3个字符,那么我们可以这样使用函数:SUBSTR(str,3,3),将会返回结果CDE;如果我们不指定截取长度,那么函数就会默认取到末尾的位置,即我使用这个函数:SUBSTR(str,3),将会返回结果CDEFG;同样,如果不指定位置,使用SUBSTR(str)即可返回结果ABCDEFG,即整个字符串。
总之,Oracle函数SUBSTR可以方便快捷地实现字符串截取,要想得到想要的结果,使用者需要注意给出正确的参数值,尤其是当涉及多字节字符的时候,要使用 SUBSTRB 函数,可以更快捷地处理截取问题。