欢迎来到时小笙的博客

海风,溶溶月色~共赏之人,就在身侧!清和

Oracle

一、SUBSTR函数 和 INSTR函数

1.SUBSTR函数:截取字符串

语法:substr(源字符串,开始位置, [length])

开始位置:从1开始查找。如果是负数,则从源字符串末尾开始算起。

length:可选项,表示截取字符串长度。

2.INSTR函数:返回子字符串在源字符串中的位置

语法:instr(源字符串,目标字符串,[起始位置,检索次数])

起始位置:可选项,默认从1开始。如果为负数,则从右向左检索。

检索次数:可选项,表示子字符串第几次出现在源字符串当中,默认第1次,负数则报错。

3.SUBSTR和INSTR组合应用

语法1:instr(字符串1, substr( 字符串2, 开始位置))

  • 返回字符串2中的某个字符,在字符串1中的位置。如果为0,则字符串1中不存在该字符。
复制
select instr('hello world', substr('world',4))from dual;
--返回结果:10
select instr('hello world', substr('ovo',2))from dual;
--返回结果:0

语法2:substr(字符串, 1, instr(字符串, 字符)-1)

  • 实现截取字符串中特定字符前后的字符串

例如:

--<1> 截取“hello,world”字符串中“,”分隔符之前的字符串
SELECT SUBSTR('hello,world', 1, INSTR('hello,world', ',')-1) FROM DUAL;
--结果:hello
--<2> 截取“hello,world”字符串中“,”分隔符之后的字符串
SELECT SUBSTR('hello,world', INSTR('hello,world', ',')+1) FROM DUAL;
--结果:world
--<3> 截取“hello,world,HH”字符串中第1次出现的“,”字符和第2次出现的“,”字符之间的字符串
SELECT SUBSTR('hello,world,HH', INSTR('hello,world,HH', ',',1)+1, INSTR('hello,world,HH', ',', 2)-1) FROM DUAL;
--结果:world

二、round函数:对某个值进行四舍五入

语法:round(数值,需保留小数点后面的位数)

参考:
CSDN博主「涛声依旧叭」的原创文章:Oracle中字符串截取最全方法总结
CSDN博主「初尘19」的原创文章:Oracle中substr函数和instr函数的结合使用

posted @   时小笙  阅读(80)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2021-05-26 《机器学习》第二次作业——第四章学习记录和心得
点击右上角即可分享
微信分享提示

目录导航