服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Oracle - Oracle的substr和instr函数简单用法

Oracle的substr和instr函数简单用法

2019-12-24 13:54Nicholas_F Oracle

这篇文章主要介绍了Oracle的substr和instr函数简单用法 的相关资料,需要的朋友可以参考下

Oracle的substr函数简单用法

substr(字符串,截取开始位置,截取长度) //返回截取的字

substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串
substr('Hello World',1,1) //返回结果为 'H'  *0和1都是表示截取的开始位置为第一个字符
substr('Hello World',2,4) //返回结果为 'ello'
substr('Hello World',-3,3)//返回结果为 'rld' *负数(-i)表示截取的开始位置为字符串右端向左数第i个字符 

测试:

?
1
select substr('Hello World',-3,3) value from dual;<br>

附:java中substring(index1,index2)的简单用法 

作用:从字符串索引(下标)为index1的字符开始截取长度为index2-index1 的字符串。

?
1
2
String str="Hello World";
System.out.println(str.substring(0,5));

打印结果为:Hello

Oracle中INSTR的用法:

INSTR方法的格式为

INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号)
返回找到的位置,如果找不到则返回0.

例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 在字符串中查找'OR',从第三个字符位置开始查找"OR",取第三个字后第2个匹配项的位置。

默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。

所以SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) "aaa" FROM DUAL的显示结果是

Instring

——————

14

延伸 · 阅读

精彩推荐