当前位置:   article > 正文

oracle常用函数 (一)_oracle right函数

oracle right函数

1. INSTR() 返回要截取的字符串在源字符串中的位置

  • instr(源字符串,要查找的字符串 , start哪个位置开始查找,查找第几次出现的)

默认从位置1开始查找,默认查找第1次出现的;

如果start为负数,则表示从右往左查找,但是查找结果仍是从左往右计算后的结果。

        instr('sadhuqad','a',1,1)

注: 也可用于搜索源字符串中是否包含某个特定字符:

        当instr() > 0,表示某个字段含有某个字符串;当instr() = 0,表示没有某个字符串

2. SUBSTR(),LEFT(),RIGHT() 截取字符串

  • substr(str, start, length)

其中,str是源字符串(下同),start是开始截取的位置,length是要截取的长度。

start为0或1时,都是指从字符串的第1个字符开始截取,这个需要注意! 当start为负数时,表示截取的开始位置为字符串右端向左数第start个字符。

substr('Hello World',0,1)   //返回结果为 "H"

substr('Hello World',1,1)   //返回结果为 "H"

substr('Hello World',2,4)   //返回结果为 "ello"

substr('Hello World',-3,3)  //返回结果为 "rld"

substr('Hello World',5,3)   //返回结果:"o W" (中间的空格也算一个字符串)

  • left(str, length) 从左向右截取

其中,length是截取字符长度

  • right(str, length)  从右向左截取

其中,length是截取字符长度

注:oracle仅支持substr()函数,sql sever支持上述所有三种

3. LPAD()字符串左填充, RPAD() 字符串右填充

  • lpad(str, length, padstr)  返回字符串str,将其左侧填充字符串padstr至length个字符的长度。 如果str大于length,则返回值缩短为length个字符。

其中,str是源字符串,length是填充后的字符串长度,padstr是要填充的字符串。

  • rpad(str, length, padstr) 返回字符串str,将其右侧填充字符串padstr至length个字符的长度。 如果str大于length,则返回值缩短为length个字符。

4. LENGTH() 获取字符长度,LENGTHB()获取字节长度

        length('abc') = 3.      lengthb('abc') = 3. 

        length(‘张三’) = 2.     lengthb('张三') = 4或者6*   

*这里是因为在不同数据库中,因字符集不同导致编码不同,1个汉字可能占2个(ZHS16GBK)或者3个字节(AL32UTF8)。

       可以使用 length()<>lengthb() 来判断字符中是否含有中文。

注: sql server中是LEN()计算长度

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号