1.字段中有以下字符串数据:

张三(zhangsan)

2.截取代码

ps:我的数据库表名为"shuizhu_test",该字段名为"username",详细请看第三大点

2.1 截取代码①如下【获取“张三”】:

select substr(username,1,instr(username,'(',1,1)-1)
fromshuizhu_test

查询结果: "张三"

大致思路:

  1. 通过instr函数,计算第一次出现"("符号的位置,最后面的-1表示第一个"("符号前的位置,即"张三(zhangsan)"中,红色字体的位置
  2. 通过substr函数,截取字符串,得到"张三"

2.2 截取代码②如下【获取"zhangsan"】:

select substr(username,instr(username,'(',1,1)+1,length(username)-length(substr(username,1,instr(username,'(',1,1)))-1)
fromshuizhu_test

大致思路:

  1. substr函数第一个参数是字符串本身,即“张三(zhangsan)”
  2. 第二个参数《instr(username,'(',1,1)+1》表示出现第一个"("符号的下标位置,最后面的+1表示"("符号后面的字符,即“张三(zhangsan)”红色字符的下标,在substr函数中,第二个参数就是开始截取字符串的位置
  3. 第三个参数是截取字符串的长度,我们需要length函数,对username后面的字符长度进行计算(固定写数字8肯定能截取"zhangsan",但是其他数据怎么办?),长度计算流程:
  • <1>先统计username的长度:length(username)
  • <2>再获取第一次出现")"符号的位置:length(substr(username,1,instr(username,'(',1,1))
  • <3>把<1>减去<2>,就能得到剩下的字符串,最后再-1,把"zhangsan)"末尾的")"去掉,finish

3.函数释义

instr函数

作用:instr函数对某个字符串进行判断,判断其是否含有指定的字符

语法:instr(sourceString,destString,start,appearPosition)

汉译:instr('源字符串' , '目标字符串' ,'开始位置','第几次出现')

解释:

  • sourceString代表源字符串;

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

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

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

substr函数

作用:截取字符串,与Java一致

语法1:substr(string string, int a, int b);

解释:

  • string 需要截取的字符串
  • a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取)
  • b 要截取的字符串的长度

语法2:substr(string string, int a) ;

解释:

  • string 需要截取的字符串
  • a 可以理解为从第a个字符开始截取后面所有的字符串。

length函数

作用:获取字符串的长度

语法:length(字符串)

解释:返回字符串的长度【字符】

Oracle截取字符串:instr、substr、length函数的使用相关推荐

  1. oracle 截取 tr,oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)...

    (1)oracle中实现截取字符串:substr substr(string, start_position, [length]) 其中,string是元字符串,start_position为开始位置 ...

  2. oracle 截取字符串中间_oracle截取字段中的部分字符串

    使用Oracle中Instr()和substr()函数: 在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为: instr(sourceString,de ...

  3. c语言提取字符串里面的数字,一个截取字符串中数字的函数

    一个截取字符串中数字的函数 我编写了一个代码,是截取字符串中数字的函数,如输入字符串:ah123hs453sh3k后,应将字符串中的字符"123"变为整数123,"453 ...

  4. Oracle 截取字符串substr函数使用方法

    1.在oracle中经常需要使用到截取字符串函数[substr]. 语法:substr(str,num1,[num2]); 默认情况下都是只需要两个参数,它的意思是从第二个字符开始截取str字符串剩下 ...

  5. oracle 截取字符串和查找字符

    汉川电厂实例:select * from hc_pmxxcdb order by substr(RLMBM,9) oracle 截取字符(substr),检索字符位置(instr) case when ...

  6. oracle截取字符串替换,oracle字符串操作:拼接、替换、截取、查找

    '拼接'||'字符串' as Str from student; 2.使用concat(param1,param2)函数实现: select concat('拼接','字符串') as Str fro ...

  7. oracle 从后往前,oracle从后往前截取字符串 oracle截取字符串后三位

    oracle怎么从后开始截取字符? 1.在oracle中经常需要使用到截取字符串函数substr.语法:substr(str,num1,[num2]) 默认情况下都是只需要两个参数,它的意思是从第二个 ...

  8. oracle截取字符串替换,oracle操作字符串:拼接、替换、截取、查找、长度、判断...

    1.拼接字符串 1)可以使用"||"来拼接字符串 select '拼接'||'字符串' as str from dual 2)通过concat()函数实现 select conca ...

  9. sql字符串截取oracle,SQL Sever和Oracle截取字符串分析

    不同的数据库下截取字符串的方法函数是不同的,在sql server下用的是substring(expression, start, length),Oracle下用的是substr(expressio ...

最新文章

  1. python 在内网windows环境下pip三方包
  2. 1---结构体中最后一个成员为[0]长度数组的用法
  3. SQLserver多条件查询
  4. DataGrid 完全攻略之二(把数据导出到Excel)
  5. 合并石子 区间dp水题
  6. PyTorch框架学习一——PyTorch的安装(CPU版本)
  7. 万用表测线路断点位置_如何测出电线电缆断点在哪?来看看常见的7种方法
  8. python time timeit_python运行时间计算之timeit
  9. WPF 媒体播放器(MediaElement)使用实例(转)
  10. linux比较两个目录的差异
  11. 会走索引吗 oracle_茅台酒会走兰花的老路吗?
  12. LeetCode 85.最大矩形
  13. 和小哥哥一起刷洛谷(6) 图论之SPFA算法
  14. 使用css让文字两端对齐
  15. jstl概念以及基本使用
  16. 单片机的直流电机调速控制系统
  17. App后台开发架构实践
  18. 关于VS2008的Web创作组件安装错误
  19. Linux交换分区 swap分区
  20. Golang + HTML5 实现多文件上传

热门文章

  1. Nginx代理mongoDB TCP Stream
  2. 心灵震撼《一个8岁女孩的遗书》看完能有几人不哭…
  3. 职业经理人和资本家的博弈
  4. 【MC】​《我的世界》命令方块指令大全​
  5. (十)练习:Snagit安装
  6. Ubuntu20.04环境下,安装hadoop
  7. 百度地图,高德地图,天地图GPS点位互相转换
  8. 汽车车灯防雾性测试哪里可以做?
  9. #Python3控制QQ窗口
  10. java解析jtl_2.7 jtl的使用