INSTR, CHARINDEX, POSITION, LOCATE

文字列中の文字列を検索します。

-- Oracle, MySQL, Access
INSTR ( search_string, target_string [, position [, nest]] )

-- SQLServer
CHARINDEX ( search_string, target_string, position )

-- ANSI準拠, MySQL, PostgreSQL
POSITION ( search_string IN target_string )

-- MySQL
LOCATE ( search_string, target_string, position )

return : target_stringの文字列の中で search_stringの文字列が最初に見つかる位置
search_string : 検索する文字列
target_string : 検索対象の文字列
position : 検索を開始する位置
nest : 何番目

 

*
文字列’abcDeAabc’から、文字列’abc’の文字位置を検索する場合は、以下のように記述します。

SELECT INSTR('abcDeAabc', 'abc')
  FROM DUAL
;

結果

INSTR(‘abcDeAabc’, ‘abc’)
1

 

*
文字列’abcDeAabc’から、文字列’abc’が2文字目以降に出現する位置を検索する場合は、以下のように記述します。

SELECT INSTR('abcDeAabc', 'abc', 2)
  FROM DUAL
;

結果

INSTR(‘abcDeAabc’, ‘abc’, 2)
7

 

*
文字列’abcDeAabc’から、文字列’abc’が2回目に出現する位置を検索する場合は、以下のように記述します。

SELECT INSTR('abcDeAabc', 'abc', 1, 2)
  FROM DUAL
;

結果

INSTR(‘abcDeAabc’, ‘abc’, 1, 2)
7

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です