oracle怎么截取字符串中的一部分字符


在oracle中,可以利用Instr()和substr()函数来截取字符串中的一部分字符,语法为“SUBSTR('需要截取的字符串',截取开始位置, INSTR('需要截取的字符串,'','查找开始位置','第几次出现')-1) ”。

oracle怎么截取字符串中的一部分字符

本教程操作环境:Windows7系统、Oracle 11g版、Dell G3电脑。

oracle截取字段中的部分字符串

使用Oracle中Instr()和substr()函数

在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。

其语法为:

instr(sourceString,destString,start,appearPosition).   
instr('源字符串' , '目标字符串' ,'开始位置','第几次出现')

其中

  • sourceString代表源字符串;

  • destString代表想聪源字符串中查找的子串;

  • start代表查找的开始位置,该参数可选的,默认为1;

  • appearPosition代表想从源字符中查找出第几次出现的destString,该参数也是可选的,默认为1;

如果start的值为负数,那么代表从右往左进行查找,但是位置数据仍然从左向右计算。

返回值为:查找到的字符串的位置。

对于instr函数,我们经常这样使用:从一个字符串中查找指定子串的位置。例如:

SQL> select instr('yuechaotianyuechao','ao') position from dual;
 POSITION
 ----------
 6

从第7个字符开始搜索

SQL> select instr('yuechaotianyuechao','ao', 7) position from dual;
 POSITION
 ----------
 17

从第1个字符开始,搜索第2次出现子串的位置

SQL> select instr('yuechaotianyuechao','ao', 1, 2) position from dual;
 POSITION
 ----------
 17

对于instr函数,我们经常这样使用:从一个字符串中查找指定子串的位置。例如: 

SQL> select instr('abcdefgh','de') position from dual; 
POSITION 
---------- 
4

从1开始算 d排第四所以返回4 

SQL>select instr('abcdefghbc','bc',3) position from dual; 
POSITION 
---------- 
9

从第3个字符开始算起 第3个字符是c,所以从3开始以后的字符串找查找bc,返回9 

substr函数的用法,取得字符串中指定起始位置和长度的字符串  ,默认是从起始位置到结束的子串。

 substr( string, start_position, [ length ] )       substr('目标字符串',开始位置,长度)

如: 

      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

SUBSTR()函数   

1.用处:是从给定的字符表达式或备注字段中返回一个子字符串。    

2.语法格式:

substr(string string, int a, int b);
substr(string string, int a) ; 

格式1:

        1、string 需要截取的字符串 

        2、a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取)

        3、b 要截取的字符串的长度

    格式2:

        1、string 需要截取的字符串

        2、a 可以理解为从第a个字符开始截取后面所有的字符串。

oracle截取字符串

将 C3411.907w15 截取点号之前的字符串 C3411    SUBSTR ('C3411.907w15',  0,  INSTR ('C3411.907w15, '.', 1, 1) - 1)  

一览妙笔 一览妙笔

自媒体、编剧、营销人员写作工具

一览妙笔 50 查看详情 一览妙笔
SELECT SUBSTR ('C3411.907w15', 0, INSTR ('C3411.907w15, '.', 1, 1) - 1)
  FROM DUAL

将 C3411.907w15 截取点号之后 的字符串 907w15   SUBSTR ('C3411.907w15', INSTR ('C3411.907w15', '.', 1, 1)+1)

SELECT SUBSTR ('C3411.907w15', INSTR ('C3411.907w15', '.', 1, 1)+1)
  FROM DUAL

项目应用实例:

原始字符串:

原始字段中存在7个“_”,我现在只想取出最后一个“_”后面的字符串,该怎么解决呢?

分两步:

第一步,通过Instr()函数,找到第7个“_”字符:

select instr('Q房网集团_经纪事业部_华南区_深圳世华_营业部_南山前海区_前海中心片区_前海五分店','_', 1, 7) fdisplayname from SHENZHENJM1222.B

或者:

select instr('Q房网集团_经纪事业部_华南区_深圳世华_营业部_南山前海区_前海中心片区_前海五分店', '_', -1, 1) fdisplayname FROM SHENZHENJM1222.B

两者效果一样,下面的-1,表示从右边开始算起始字符,1表示获取第一个“_”

获取到的结果如图:

 

第2步,通过substr()函数,取出所需要的字段:

select substr(fdisplayname,instr(fdisplayname,'_',-1,1)+1) fdisplayname from SHENZHENJM1222.B

fdisplayname:代表字段名,相当于元字符串

重点介绍一下+1

+1表示在目标字符串“_”后的第一个字符串开始截取

下面看一下不同的数字的情况:

 

select substr(fdisplayname,instr(fdisplayname,'_',-1,1)+1) fdisplayname from SHENZHENJM1222.B

在来看一下instr(fdisplayname,'_',-1,1)中的1是啥意思:

推荐教程:《Oracle教程》

以上就是oracle怎么截取字符串中的一部分字符的详细内容,更多请关注其它相关文章!


# 海中  # 茂名网站建设与推广方案  # 黑龙江网站优化谁家专业  # 河南大专学院网站建设  # 鞋子网站seo分析实例  # 网站建设 服务商有哪些  # 网站快速优化评估易速达  # b站mmm推广网站  # 视频推广营销系统  # 成都服务好的网站优化  # 乐从优化网站关键词  # oracle  # 值为  # 片区  # 怎么看  # 深圳  # 可选  # 第一个  # 默认值  # 是从  # 几次  # 截取字符串 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 一点万象签到领积分指南  vivo云服务一直提示空间不足怎么办 怎么办vivo云服务老是提示空间不足  Word如何将文字快速转成表格 Word文本转换成表格功能使用技巧【效率】  Lar*el 中高效执行多列更新:单次查询实现  Win11怎么开启HDR_Windows 11显示器画质增强设置  c++如何实现观察者设计模式_c++行为型设计模式实战  繁花漫画使用教程  《饿了么》拼好饭点外卖教程2025  小米civi如何设置锁屏时间  126邮箱申请入口官网_126邮箱注册免费登录2025  键盘保修需要什么_键盘售后维修流程  uc浏览器官网网页版使用 uc浏览器官网免费在线首页  PyEZ 配置提交中 RpcTimeoutError 的健壮性处理策略  TikTok收藏夹无法删除视频如何解决 TikTok收藏管理优化方法  支付宝登录刷脸不是本人如何解决  PDF文件去水印平台入口 PDF水印删除网址  顺丰速运官网查询入口 顺丰物流查询官网入口链接  C++ switch case字符串_C++如何实现字符串switch匹配  《全民k歌》音乐怎么下载到本地2025  《桃源记2》资源采集攻略  J*aScript与CSS动画:实现平滑顺序淡入淡出效果并解决显示冲突  鲨鱼剧场app金币获取方法  苹果SE如何开启单手模式_苹果SE单手操作功能  mysql中如何分析索引使用情况_mysql索引使用分析方法  《领英》查看屏蔽名单方法  yandex网页版直接登录 yandex官方入口平台访问方法  猫眼电影app如何设置电影上映提醒_猫眼电影上映提醒设置教程  AO3中文入口稳定分享_AO3官网HTTPS看文详解  苹果如何下载nanobanana  如何在 WordPress 前端实现内容提交:古腾堡编辑器的替代方案与实践  苹果官网国补入口在哪  Pandas中基于动态偏移量实现DataFrame列值位移的策略  《浙里办》电子发票开具方法  FotoBalloon图片左右镜像教程  喜茶GO更换登录账号方法  电脑双系统如何安装和卸载 Windows和Linux双系统安装教程【详解】  J*aScript大数运算_BigInt使用指南  NumPy 高性能技巧:基于多列条件查找最近邻行索引的向量化实现  《磁力猫》最好用的磁官网  Sublime怎么自动添加CSS前缀_Sublime安装Autoprefixer插件  谷歌浏览器官方镜像获取方法_谷歌浏览器网页版入口极速直达  《下一站江湖2》风神腿获取攻略  哔哩哔哩黑名单怎么查看  VS Code源代码管理(SCM)视图的进阶使用技巧  抖音网页版地址直接进入_抖音网页版在线观看入口  性能与资源监视器快捷打开  Symfony路由参数转换器:实体存在性验证与错误处理策略  Golang如何使用gRPC拦截器实现日志收集_Golang gRPC拦截器日志收集实践  谷歌浏览器如何查找和删除恶意软件 谷歌浏览器内置安全清理工具使用教程  windows10怎么开启卓越性能_windows10电源选项代码激活 

 2022-02-14

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.