标签:
oracleit |
分类: 转载 |
已验证。
要求: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‘,1,3) from dual;
返回的是“ORC”
全例如下
表T_RCV_ISSUE
WH_