oracle数据库截取字符串substr函数使用举例
格式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函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Oracle 解决ORA-00257 Archiver error 报错问题解决
订单投资交易环境进行 impdb 数据泵恢复数据,执行到一半,报错终止,归档策略保留时间较长,或归档频率过高,导致数据库挂载盘符空间不足,本文给大家分享Oracle 解决ORA-00257 Archiver error 报错问题解决,感兴趣的朋友一起看看吧2023-12-12
Oracle expdp/impdp 及 exp/imp 命令详解
使用Oracle数据库的过程中会经常对数据进行导入导出,Oracle 数据库提供 expdp / impdp (Data Pump,数据泵)以及 exp / imp 两种工具进行数据的导入导出,可以对数据库进行逻辑备份,这篇文章主要介绍了Oracle expdp/impdp 及 exp/imp 命令详解,需要的朋友可以参考下2024-07-07


最新评论