Oracle函数INSTR、SUBSTR使用说明及示例

概述oracle一般截取某一个字符之前或之后的值都会用到substr()和instr()函数,抽时间整理了这方面,下面做个简单介绍。1、instr函数这是一个字

大家好,关于Oracle函数INSTR、SUBSTR使用说明及示例很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

该函数定义如下:

/* * 返回子字符串在源字符串中的位置(字符串位置从1开始,而不是从0开始) * @param string source string* @param substring substring* @param position 检索位置,可以省略(默认为1)、当参数为正数时,从左到右搜索,当参数为负数时,从右到左搜索* @paramoccurrence 检索子字符串出现的次数,可省略(默认为1),取值只能是正整数,否则会报错* @return 返回子字符串在源字符串中出现的位置(如果没有找到则返回0) */instr(string, substring,position,occurrence);

实例

SELECT INSTR(‘hello world’, ‘l’) FROM DUAL; –结果: 3SELECT INSTR(‘hello world’, ‘l’, 5) FROM DUAL; –结果: 10SELECT INSTR(‘hello world’, ‘l’, -1) FROM DUAL; –结果: 10SELECT INSTR(‘hello world’, ‘l’, 2, 2) FROM DUAL; –结果: 4SELECT INSTR(‘hello world’, ‘l’, -3, 3) FROM DUAL; –结果:0

2、substr函数

这是一个字符串截取函数,返回截取的字符串。

Oracle函数INSTR、SUBSTR使用说明及示例

该函数定义如下:

/* * 截取字符串(字符串位置从1开始,不是从0开始) * @param string 源字符串* @paramposition 检索位置,当参数为正数时,从左到右搜索,当参数为负数时,检索从右到左* @param substring_length 需要截取的长度,可以省略(整个截取默认从位置position开始)。如果值小于1,则返回空字符串* @return 返回截取的字符串*/substr(string,position,substring_length);

例子

SELECT SUBSTR(‘hello world’, 2) FROM DUAL; –结果:hello worldSELECT SUBSTR(‘hello world’, -2) FROM DUAL; –结果: ldSELECT SUBSTR(‘hello world’, 4, 4) FROM DUAL ; –结果: lo wSELECT SUBSTR(‘hello world’, -4, 3) FROM DUAL; –结果:orlSELECT SUBSTR(‘hello world’, 4, -1) FROM DUAL; –结果:空字符串

3、SUBSTR和INSTR结合

Oracle函数INSTR、SUBSTR使用说明及示例

可以将SUBSTR 和INSTR 一起使用来截取字符串中特定字符之前和之后的字符串。

例子:

1)截取“hello, world”字符串中“,”分隔符之前的字符串

SELECT SUBSTR(‘hello,world’, 1, INSTR(‘hello,world’, ‘,’)-1) FROM DUAL;–结果:hello2) 截取“hello,world”字符串中的“,”分隔符

SELECT SUBSTR(‘hello,world’, INSTR(‘hello,world’, ‘,’)+1) FROM DUAL;–结果: world3) 截取“hello,world,HH”字符串中第一次出现的“ “,”字符和第二次出现的“,”字符之间的字符串

Oracle函数INSTR、SUBSTR使用说明及示例

SELECT SUBSTR(‘你好,世界,HH’, INSTR(‘你好,世界,HH’, ‘,’,1)+1, INSTR(‘你好,世界,HH’, ‘,’, 2)-1) FROM DUAL;–结果:世界

这是Oracle的INSTR和SUBSTR的使用介绍。掌握这两个还是有必要的,尤其是写SQL的时候。

用户评论

Oracle函数INSTR、SUBSTR使用说明及示例
颓废i

这个主题太棒了!我总是觉得 Oracle 的一些函数用法很费劲,这款INSTR 和 SUBSTR 讲解简直太详细了,还有实例演示,终于不用再摸索了!

    有11位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
一纸愁肠。

看完这篇博文,Oracle 的这两种函数一下子就清晰了许多。以前总觉得比较复杂,现在理解起来倒是很简单,谢谢作者的用心整理!

    有11位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
各自安好ぃ

讲道理,INSTR 和 SUBSTR 这两个函数确实很常用,尤其是做数据提取的时候,这篇博文的实例讲解很有帮助。之前遇到问题的时候总是谷歌上找答案,这下自己也能解决啦!

    有6位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
看我发功喷飞你

觉得文章有点晦涩,对于入门学习者来说可能不太友好。建议在解释函数原理时可以多加一些通俗易懂的例子,更容易理解。

    有12位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
寻鱼水之欢

实例讲解都很清晰,但感觉文章结构有点凌乱,建议按照功能分类或者使用场景逻辑来进行叙述,更方便阅读和回溯。

    有6位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
隔壁阿不都

INSTR 和 SUBSTR 的用法确实很有技巧,这篇博文讲解得比较全面,很多细节都交代得很清楚,值得收藏!希望能看到作者后续分享更多 Oracle 函数使用方法。

    有17位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
七级床震

这篇文章挺有帮助的,终于弄明白了这些函数是怎么工作的。以前总是把他们搞混淆,现在分得清了!

    有12位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
病房

文章内容不错,但是代码示例有点老旧了,建议更新一下最新的版本,更贴合实际应用需求。

    有7位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
剑已封鞘

对新手来说这个函数确实容易理解,但是对于熟悉 SQL 的人来说可能有些低级了。希望可以加入一些更进阶的用法和案例讲解。

    有20位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
无寒

INSTR 和 SUBSTR 这两个函数的应用场景很多,这篇博文总结得很不错,特别是实例演示部分很实用,以后碰到相关需求直接参考就好了!

    有16位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
我的黑色迷你裙

对于初学者来说可能需要花点时间去看懂这个文章,但是如果认真学习的话,能够掌握这两种函数的使用技巧无疑是非常有价值的。

    有20位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
冷嘲热讽i

希望作者能定期更新Oracle相关的教程,比如可以讲解其他常用函数,或者结合一些实际案例进行分析,这样对我们 learners 更有帮助!

    有10位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
我一个人

我以前用的 SQL Server 做数据提取的时候,会用类似的功能,看来 Oracle 中也有相应的解决方案。

    有7位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
留我一人

这篇博文把重点都解释得很清楚了,例如说明 INSTR 函数的返回值含义以及 SUBSTR 函数如何处理边界情况,这对理解这两个函数非常关键!

    有13位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
仅有的余温

我觉得这篇文章写得有点简单,对于已经对 Oracle 比较熟悉的人来说没有太多收获。希望作者可以提供更深入的分析和案例讲解。

    有13位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
断秋风

INSTR 和 SUBSTR 的运用确实很有技巧,这篇博文解释得很清晰,能够帮我更好地理解它们的原理。 感谢作者的分享!

    有16位网友表示赞同!

Oracle函数INSTR、SUBSTR使用说明及示例
情深至命

Oracle 学习真是不容易啊,幸好看到了这篇博客。函数的用法终于有点头绪了!

    有8位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/136642.html

(0)
小su的头像小su
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注