T-SQLのIndexOf関数の使用法
T-SQLにIndexOf関数は標準実装されていませんが、CHARINDEX関数を使用すると、同様のことができます。CHARINDEX関数は、あるストリング内の別のストリングの位置を見つけるために使用されます。
CHARINDEX関数の構文は次のとおりです。
文字列内での部分文字列の開始位置を検索する CHARINDEX(部分文字列, 文字列 [, 開始位置])
サブストリングは検索対象の文字列であり、文字列は検索対象であり、start_positionはオプションのパラメータで、検索を開始する位置を指定します。
以下にCHARINDEX関数の使用方法の例を示します
‘world’が‘Hello world’内に最初に出現する位置を検索
‘world’ という部分文字列は ‘Hello world’ という文字列の 6 文字目に位置するため、この関数は 6 を返す
start_position パラメータを指定することで、検索をどこから始めるかを指定することもできます。たとえば、
CHARINDEX(‘world’, ‘Hello world’, 7)として選びます
この場合、0が返され、位置7より後の文字列で「world」という部分文字列が見つからなかったことが示されます。
CHARINDEX関数は大文字と小文字を区別しないことにご注意ください。大文字と小文字を区別した検索を行う場合は、PATINDEX関数を使用できます。