it编程 > 数据库 > Oracle

oracle数据库截取字符串substr函数使用举例

92人参与 2025-01-09 Oracle

格式1:substr(string string,int index,int length)

理解:substr(被截取的字符串,下标即开始截取的位置-整数,截取的长度-整数)

适用于有截取的长度限制的场景。

格式2:substr(string string,int index)

理解:substr(被截取的字符串,下标即开始截取的位置-整数)

适用于无长度限制,从下标位置开始进行截取一直截取到最后

注意:substr()函数中的下标开始截取的位置,其中0和1指代的都是首位,没有区别。当下标位置是负数时,就是从右向左开始查找下标位置,然后自下标位置再从左往右开始截取。(很多解释这个函数的,就是说从从右向左截取,这个说法是错误的,不太理解多吧?没事儿看例子吧,或许看后理解了)

举例 格式1:

理解:substr(被截取的字符串,下标即开始截取的位置-整数,截取的长度-整数)

适用于有截取的长度限制的场

select substr('世事洞明皆学问,人情练达即文章',1,2) from dual;--输出‘世事' 

select substr('世事洞明皆学问,人情练达即文章',0,2) from dual;--输出‘世事'   开始位置0和1,结果是一样的

select substr('世事洞明皆学问,人情练达即文章',2,3) from dual;--输出‘事洞明' 

当开始位置为负数时,对比结果,发现规律
select substr('世事洞明皆学问,人情练达即文章',-3,2) from dual;--输出‘即文' 

select substr('世事洞明皆学问,人情练达即文章',-4,2) from dual;--输出‘达即' 

select substr('世事洞明皆学问,人情练达即文章',-7,2) from dual;--输出‘人情' 

举例 格式2:

格式2:substr(string string,int index)

理解:substr(被截取的字符串,下标即开始截取的位置-整数)

适用于无长度限制,从下标位置开始进行截取一直截取到最后

select substr('无人扶我青云志,我自踏雪至山巅',1) from dual;--输出‘无人扶我青云志,我自踏雪至山巅' 

select substr('无人扶我青云志,我自踏雪至山巅',0) from dual;--输出‘无人扶我青云志,我自踏雪至山巅' 

select substr('无人扶我青云志,我自踏雪至山巅',3) from dual;--输出‘扶我青云志,我自踏雪至山巅' 

当开始位置为负数时,对比结果,发现规律
select substr('无人扶我青云志,我自踏雪至山巅',-3) from dual;--输出‘至山巅'' 

select substr('无人扶我青云志,我自踏雪至山巅',-4) from dual;--输出‘雪至山巅' 

select substr('无人扶我青云志,我自踏雪至山巅',-7) from dual;--输出‘我自踏雪至山巅' 

总结 

到此这篇关于oracle数据库截取字符串substr函数使用的文章就介绍到这了,更多相关oracle截取字符串substr函数内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

Oracle Expdp按条件导出指定表数据的方法实例

01-09

oracle数据库索引失效的问题及解决

01-11

Nginx中proxy_pass使用小结

01-11

oracle大数据删除插入方式

01-13

Oracle的to_date()函数详解

01-13

oracle中exists和not exists用法举例详解

01-14

猜你喜欢

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

发表评论