Oracle截取字符串:instr、substr、length函数的使用
1.字段中有以下字符串数据:
张三(zhangsan)
2.截取代码
ps:我的数据库表名为"shuizhu_test",该字段名为"username",详细请看第三大点
2.1 截取代码①如下【获取“张三”】:
select substr(username,1,instr(username,'(',1,1)-1)
fromshuizhu_test
查询结果: "张三"
大致思路:
- 通过instr函数,计算第一次出现"("符号的位置,最后面的-1表示第一个"("符号前的位置,即"张三(zhangsan)"中,红色字体的位置
- 通过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
大致思路:
- substr函数第一个参数是字符串本身,即“张三(zhangsan)”
- 第二个参数《instr(username,'(',1,1)+1》表示出现第一个"("符号的下标位置,最后面的+1表示"("符号后面的字符,即“张三(zhangsan)”红色字符的下标,在substr函数中,第二个参数就是开始截取字符串的位置
- 第三个参数是截取字符串的长度,我们需要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函数的使用相关推荐
- oracle 截取 tr,oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)...
(1)oracle中实现截取字符串:substr substr(string, start_position, [length]) 其中,string是元字符串,start_position为开始位置 ...
- oracle 截取字符串中间_oracle截取字段中的部分字符串
使用Oracle中Instr()和substr()函数: 在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为: instr(sourceString,de ...
- c语言提取字符串里面的数字,一个截取字符串中数字的函数
一个截取字符串中数字的函数 我编写了一个代码,是截取字符串中数字的函数,如输入字符串:ah123hs453sh3k后,应将字符串中的字符"123"变为整数123,"453 ...
- Oracle 截取字符串substr函数使用方法
1.在oracle中经常需要使用到截取字符串函数[substr]. 语法:substr(str,num1,[num2]); 默认情况下都是只需要两个参数,它的意思是从第二个字符开始截取str字符串剩下 ...
- oracle 截取字符串和查找字符
汉川电厂实例:select * from hc_pmxxcdb order by substr(RLMBM,9) oracle 截取字符(substr),检索字符位置(instr) case when ...
- oracle截取字符串替换,oracle字符串操作:拼接、替换、截取、查找
'拼接'||'字符串' as Str from student; 2.使用concat(param1,param2)函数实现: select concat('拼接','字符串') as Str fro ...
- oracle 从后往前,oracle从后往前截取字符串 oracle截取字符串后三位
oracle怎么从后开始截取字符? 1.在oracle中经常需要使用到截取字符串函数substr.语法:substr(str,num1,[num2]) 默认情况下都是只需要两个参数,它的意思是从第二个 ...
- oracle截取字符串替换,oracle操作字符串:拼接、替换、截取、查找、长度、判断...
1.拼接字符串 1)可以使用"||"来拼接字符串 select '拼接'||'字符串' as str from dual 2)通过concat()函数实现 select conca ...
- sql字符串截取oracle,SQL Sever和Oracle截取字符串分析
不同的数据库下截取字符串的方法函数是不同的,在sql server下用的是substring(expression, start, length),Oracle下用的是substr(expressio ...
最新文章
- python 在内网windows环境下pip三方包
- 1---结构体中最后一个成员为[0]长度数组的用法
- SQLserver多条件查询
- DataGrid 完全攻略之二(把数据导出到Excel)
- 合并石子 区间dp水题
- PyTorch框架学习一——PyTorch的安装(CPU版本)
- 万用表测线路断点位置_如何测出电线电缆断点在哪?来看看常见的7种方法
- python time timeit_python运行时间计算之timeit
- WPF 媒体播放器(MediaElement)使用实例(转)
- linux比较两个目录的差异
- 会走索引吗 oracle_茅台酒会走兰花的老路吗?
- LeetCode 85.最大矩形
- 和小哥哥一起刷洛谷(6) 图论之SPFA算法
- 使用css让文字两端对齐
- jstl概念以及基本使用
- 单片机的直流电机调速控制系统
- App后台开发架构实践
- 关于VS2008的Web创作组件安装错误
- Linux交换分区 swap分区
- Golang + HTML5 实现多文件上传