OracleでINSTRとINSTRB関数を使って文字列の位置を取得
環境
Oracle 12.2.0.1.0
書式
INSTR(対象文字列 , 検索文字列 , 検索位置 , n )
INSTRB(対象文字列 , 検索文字列 , 検索位置 , n )
文字列を検索文字列で検索位置から検索してn番目に出現した位置を返します。
使用例
1.対象文字列の4文字目から2回目に出現する検索文字列を確認します
SELECT
INSTR('studyskillsmart','s',4,2)
FROM DUAL
SELECT
INSTR('studyskillsmart','s',4,2)
FROM DUAL
SELECT INSTR('studyskillsmart','s',4,2) FROM DUAL
結果 11
2.対象文字列の3バイト目から2回目に出現する検索文字列を確認します
SELECT
INSTRB('テスト太郎テスト','ス',3,2)
FROM DUAL
SELECT
INSTRB('テスト太郎テスト','ス',3,2)
FROM DUAL
SELECT INSTRB('テスト太郎テスト','ス',3,2) FROM DUAL
結果 13