关于Oracle里面的一些小函数
要求:A.数据库表中的一个字符串 可能含有"
+" 例:ORC+001
也可能不含“
+”
B.要求如果该字符串含有“
+”,则取“+”之前的字符 例:ORC+001 取ORC
C.如果该字符串不含"
+",则直接取该字符串。
解答:利用ORACLE中 INSTR,SUBSTR以及CASE WHEN语法即可实现。
Oracle中函数
INSTR:INSTR方法的格式为
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)
默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。
例:
Select INSTR(,,1,1) From dual
返回的是"
4" 如果该字符串没有匹配字符 返回的是“0”。
SUBSTR:取子字符串 取子字符串
SUBSTR(源字符串,起始位置,要取多少位)
从“起始位置”开始,取“多少"个
例
Select SUBSTR(,1,3) From dual;
返回的是“ORC”
全例如下:
表T_RCV_ISSUE
WH_CD字段
取 WH_CD 如果该字段包含"
+",取“+”之前的字符
如果该字段没有"
+",取整个字段
T_RCV_ISSUE表
WH_CD 分别为 MR
-PS+007,MR-WS,MR-WS+001,MR-PS
执行
SELECT CASE
WHEN INSTR(WH_CD, , 1, 1) > 0
THEN SUBSTR(WH_CD, 1, INSTR(WH_CD, , 1, 1) - 1)
ELSE WH_CD
END AS WH_CD
FROM T_RCV_ISSUE
结果:MR
-PS,MR-WS,MR-WS,MR-PS
当前位置: 数据库>oracle
Oracle字符串截取
来源: 互联网 发布时间:2017-03-25
本文导语: 关于Oracle里面的一些小函数 要求:A.数据库表中的一个字符串 可能含有"+" 例:ORC+001 也可能不含“+” B.要求如果该字符串含有“+”,则取“+”之前的字符 例:ORC+001 取ORC C.如果该字符串不含"+",则直...
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。