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

 更新时间:2025年01月08日 10:14:34   作者:锦衣夜行?  
在Oracle数据库中可以使用SUBSTR函数来截取字符串,这篇文章主要给大家介绍了关于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一个用户如何访问其它用户的表应用指南

    Oracle一个用户如何访问其它用户的表应用指南

    本文将详细介绍Oracle一个用户如何访问其它用户的表,需要的朋友可以参考下
    2012-11-11
  • Oracle临时表空间删除和重建实现过程

    Oracle临时表空间删除和重建实现过程

    这篇文章主要介绍了Oracle临时表空间删除和重建实现过程,临时表空间是NOLOGGING模式以及它不保存永久类型对象,因此即使数据库损毁,做Recovery也不需要恢复Temporary Tablespace。下文更多详细内容介绍需要的小伙伴可以参考一下
    2022-03-03
  • Oracle使用rownum分页方式实例代码

    Oracle使用rownum分页方式实例代码

    ROWNUM是一个序列,是oracle数据库从数据文件或缓冲区中读取数据的顺序,这篇文章主要给大家介绍了关于Oracle使用rownum分页的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • Oracle多表级联更新详解

    Oracle多表级联更新详解

    我们在平时的工作中可能遇到过,多表级联更新,我也在网上看到过不少的方法,但是使用这些方法一般都没成功过,所以今天我给大家介绍一种稍微麻烦的方法,有需要的朋友可以参考下
    2013-07-07
  • Oracle 数据库针对表主键列并发导致行级锁简单演示

    Oracle 数据库针对表主键列并发导致行级锁简单演示

    本文简单演示针对表主键并发导致的行级锁,锁的产生是因为并发。没有并发,就没有锁。并发的产生是因为系统需要,系统需要是因为用户需要,感兴趣的你可以参考下哈,希望可以帮助到你
    2013-03-03
  • JDBC Oracle执行executeUpdate卡死问题的解决方案

    JDBC Oracle执行executeUpdate卡死问题的解决方案

    今天小编就为大家分享一篇关于JDBC Oracle执行executeUpdate卡死问题的解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)

    oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)

    这篇文章主要介绍了oracle导入导出数据的二种方法,利用PL/SQL Developer工具导出和利用cmd的操作命令导出的出方法,大家参考使用吧
    2014-01-01
  • Oracle的静态注册和动态注册详解

    Oracle的静态注册和动态注册详解

    这篇文章主要介绍了Oracle的静态注册和动态注册,文中通过代码示例和图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-11-11
  • Oracle用decode函数或CASE-WHEN实现自定义排序

    Oracle用decode函数或CASE-WHEN实现自定义排序

    这篇文章主要介绍了Oracle用decode函数或CASE-WHEN实现自定义排序功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Oracle数据库时间格式转换的常见示例

    Oracle数据库时间格式转换的常见示例

    这篇文章主要给大家介绍了关于Oracle数据库时间格式转换的常见示例,在实际的工作中会经常会用到to_char()、to_date()函数来对时间、日期进行处理,文中给出了详细的代码示例,需要的朋友可以参考下
    2024-02-02

最新评论