oracle 截取字符串函数(Oracle字符串截取)

本文目录
Oracle字符串截取
关于Oracle里面的一些小函数
要求 A 数据库表中的一个字符串 可能含有 + 例 ORC+
也可能不含 +
B 要求如果该字符串含有 + 则取 + 之前的字符 例 ORC+ 取ORC
C 如果该字符串不含 + 则直接取该字符串
解答 利用ORACLE中 INSTR SUBSTR以及CASE WHEN语法即可实现
Oracle中函数
INSTR INSTR方法的格式为
INSTR(源字符串 目标字符串 起始位置 匹配序号)
默认查找顺序为从左到右 当起始位置为负数的时候 从右边开始查找
例 Select INSTR( ORC+ + ) From dual
返回的是"4" 如果该字符串没有匹配字符 返回的是 0
SUBSTR 取子字符串 取子字符串
SUBSTR(源字符串 起始位置 要取多少位)
从 起始位置 开始 取 多少"个
例 Select SUBSTR( ORC+ ) From dual;
返回的是 ORC
全例如下
表T_RCV_ISSUE
WH_CD字段
取 WH_CD 如果该字段包含 + 取 + 之前的字符
如果该字段没有 + 取整个字段
T_RCV_ISSUE表
WH_CD 分别为 MR PS+ MR WS MR WS+ MR PS
执行
SELECT CASE
WHEN INSTR(WH_CD + ) 》
THEN SUBSTR(WH_CD INSTR(WH_CD + ) )
ELSE WH_CD
END AS WH_CD
FROM T_RCV_ISSUE
lishixinzhi/Article/program/Oracle/201311/17245oracle中截取一个字符串中的数字
如果Oracle版本不是太低的话,使用 正则表达式函数 REGEXP_SUBSTR 处理。\x0d\x0a\x0d\x0a5个参数\x0d\x0a第一个是输入的字符串\x0d\x0a第二个是正则表达式\x0d\x0a第三个是标识从第几个字符开始正则表达式匹配。(默认为1)\x0d\x0a第四个是标识第几个匹配组。(默认为1)\x0d\x0a第五个是是取值范围:\x0d\x0ai:大小写不敏感;\x0d\x0ac:大小写敏感;\x0d\x0an:点号 . 不匹配换行符号;\x0d\x0am:多行模式;\x0d\x0ax:扩展模式,忽略正则表达式中的空白字符。\x0d\x0a\x0d\x0aSQL》 SELECT\x0d\x0a 2 REGEXP_SUBSTR(a,’+’);

更多文章:
1970年时间戳转换(时间格式如何转换十六进制的算法——这个的运行方法)
2025年7月27日 04:45
编辑器不支持粘贴本地图片(为什么我在淘宝中使用编辑器里,没法粘贴图片)
2025年6月28日 14:30
onclick可以执行两个方法吗(onclick事件重复执行(一次点击执行了两次))
2026年2月13日 17:00
丰田荣放normal是什么意思(汽车上的normal是啥意思)
2026年8月14日 13:45
tensorflow怎么安装到python(安装tensorflow,安装python问题)
2025年8月25日 16:00
postman请求webservice接口(用postman批量调用接口)
2025年12月23日 17:00
displaylink 芯片(displaylink需要显卡吗)
2026年3月9日 11:30
墨迹天气插件(vivo手机的桌面插件在哪里能找到,我安装墨迹天气,设置桌面时钟,都不知道装在哪)
2026年6月5日 02:15
itss资质证书(ITSS运维资质认证证书在招投标中有多大用处)
2025年9月18日 06:00













