- Oracle中INSTR函數與SQL Server中CHARINDEX函數
- 1.ORACLE中的INSTR
- INSTR函數格式:INSTR(源字符串, 目標字符串, 起始位置, 匹配序號)
- 說明:返回從 ‘起始位置’ 開始查找 ‘源字符串’ 中與 ‘目標字符串’ 第 ‘匹配序號’ 次匹配的位置
- 例如:返回從第4位字符開始SQL_Server_2008字符串中第2次出現字符串er的位置
- select INSTR('SQL_Server_2008','er',4,2 ) as result from dual;
- 結果:9
- 2.SQL Server中的CHARINDEX
- CHARINDEX函數格式:CHARINDEX( targetStr , srcStr [,start_location ] )
- 說明:返回目標字符(串)在源字符串字符串中出現的起始位置
- select CHARINDEX('er','SQL_Server_2008',10) ;
- 結果:0
- select CHARINDEX('er','SQL_Server_2008',7) ;
- 結果:9
- select CHARINDEX('er','SQL_Server_2008') ;
- 結果:6
- 返回結果說明:返回0說明沒有查找到符合條件的字符(串)
想要使用SUBSTR函數和INSTR函數截取目標字段:
SUBSTR(a.DM,5,INSTR(DM||'-','-'))
