微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

oracle中INSTR函数的用法

INSTR(C1,C2,I,J)
一个字符串中搜索指定的字符,返回发现指定的字符的位置;
C1被搜索的字符串
C2希望搜索的字符串
I搜索的开始位置,认为1
J出现的位置,认为1
sql>selectinstr(oracletraning,ra,1,2)instringfromdual;
INSTRING
---------
9

他的位置搜索是从1开始的也就是说o的位置是1,这点要分清楚。



INSTR方法的格式为
INSTR(源字符串,要查找的字符串,从第几个字符开始,要找到第几个匹配的序号)
返回找到的位置,如果找不到则返回0.
例如:INSTR('CORPORATE FLOOR','OR',3,2)中,源字符串为'CORPORATE FLOOR',在字符串中查找'OR',从第三个字符位置开始查找"OR",取第三个字后第2个匹配项的位置。

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

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

Instring
——————
14


oracle的substr函数用法
取得字符串中指定起始位置和长度的字符串 substr( string,start_position,[ length ] )
如:
substr('This is a test',6,2) would return 'is'
substr('This is a test',6) would return 'is a test'
substr('TechOnTheNet',-3,3) would return 'Net'
substr('TechOnTheNet',-6,3) would return 'The'

select substr('Thisisatest',-4,2) value from dual

这个最巧妙的我感觉还是用在有几个固定值的order by中

eg:order by instr("1,2,8,9",mark,1)是不是感觉很方便。

原文地址:https://www.jb51.cc/oracle/206506.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐