oracle截取字符串截取某个字符前面的字符串

要求:A.数据库表中的一个字符串 可能含有"+" 例:ORC+001   也可能不含“+”   B.要求如果该字符串含有“+”,则取“+”之前的字符 例:ORC+001 取ORC   C.如果该字符串不含"+",则直接取该字符串。   解答:利用ORACLE中 INSTR,SUBSTR以及CASE WHEN语法即可实现。   Oracle中函数   INSTR:INSTR方法的格式为   INSTR(源字符串,目标字符串,起始位置,匹配序号)   认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。   例:Select INSTR(‘ORC+001‘,‘+‘,1,1) from dual   返回的是"4" 如果该字符串没有匹配字符 返回的是“0”。   SUBSTR:取子字符串 取子字符串   SUBSTR(源字符串,要取多少位)   从“起始位置”开始,取“多少"个   例 Select SUBSTR(‘ORC+001‘,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) > 0   THEN SUBSTR(WH_CD,INSTR(WH_CD,1) - 1)   ELSE WH_CD   END AS WH_CD   from T_RCV_ISSUE   结果:MR-PS,MR-WS,MR-WS,MR-PS ......

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...