加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle中instr函数和substr函数的浅用法

发布时间:2020-12-12 14:36:16 所属栏目:百科 来源:网络整理
导读:instr 是一个字符串处理函数,几乎所有的字符串分隔都用到此函数。 instr函数是返回要查询的字符串在源字符串中的位置。 语法: instr( string1,string2,start_position,nth_appearance ) string1 源字符串,要在此字符串中查找。 string2 要在string1中查找
string1 源字符串,要在此字符串中查找。 string2 要在string1中查找的字符串 。 start_position 代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。 nth_appearance 代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。 意:
  位置索引号从1开始。
  如果String2在String1中没有找到,instr函数返回0。
 示例:

  SELECT instr('syranmo','s') FROM dual; -- 返回 1
  SELECT instr('syran mo','at',1,2) FROM dual; -- 返回 0


substr是一个字符串截取函数,用于从源字符串截取一个子串输出
语法:
substr( string,[ length ] )
string:源字符串
start_position:子串第一个字符在源字符串中的起始位置
length:子串长度
测试结果:

1.
substr('2011-11-17',7)
2011-11
2.
substr('2011-11-17',7)
2011-11
3.
substr('2011-11-17',10)
2011-11-17
4.
substr('2011-11-17',11)
2011-11-17
5.
substr('2011-11-17',-1,7)
7
6.
substr('2011-11-17',-8,8)
11-11-17
7.
substr('2011-11-17',-10,7)
2011-11
8.
substr('2011-11-17',-11,7)
null
9.
substr('2011-11-17',-11)
null
10.
substr('2011-11-17',-1)
7
11.
substr('2011-11-17',6)
11-17
12.
substr('2011-11-17',11)
null
13.
substr (‘2011-11-17’,null)
null
14.
substr (‘2011-11-17’,null,1)
null
15.
substr (‘2011-11-17’,null)
null
16.
substr ('2011-11-17',0)
null
17.
substr ('2011-11-17',-1)
null
18.
substr ('2011-11-17',11,11)
null

Oracle中规定:
1) start_position==0时,子串的起始位置为1,即从第一个字符开始;
2) start_position<0时,字串的起始位置从字符串尾部开始后推。
3) length参数可以缺省。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

instr是一个字符串处理函数,几乎所有的字符串分隔都用到此函数。

instr函数是返回要查询的字符串在源字符串中的位置。

语法:
   instr( string1,string2,start_position,nth_appearance )
    推荐文章
      热点阅读