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

前端之家收集整理的这篇文章主要介绍了oracle中instr函数和substr函数的浅用法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

语法:
   instr( string1,string2,start_position,nth_appearance )
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参数可以缺省。

原文链接:https://www.f2er.com/oracle/208156.html

猜你在找的Oracle相关文章