INSTR
INSTR (「文字列内」) 関数は、文字列内の文字または部分文字列を検索し、その文字列が見つかった場合はその場所の整数を返し、見つからない場合はゼロを返します。最初の引数は、リテラル文字列、変数、またはテーブルのカラムであり、2 番目の引数で指定された文字列が検索されます。文字列が文字列内で見つかった場合、その位置は文字列の先頭または末尾を基準とした整数として返されます。
構文
INSTR (string_to_examine, string_to_find[, search_start[, nth_occurrence]])
備考
|
•
|
最初の引数 string_to_examine は、単一引用符で囲まれたリテラル式または変数名にすることができます。最初の引数は、tableName.columnName 内の値を評価する SQL SELECT 内の式にすることもできます。データ タイプは VARCHAR または類似のものである必要があります。 |
|
•
|
2 番目の引数 string_to_find は、文字列、またはデータ タイプが VARCHAR の変数である必要があります。 |
|
•
|
オプションで、search_start を指定して、文字列内の任意の位置から検索を進めることができます。 |
|
•
|
string_to_examine の末尾から検索を進めると、結果は常に 0 になります。 |
|
•
|
INSTR が TDV で実行される場合、INSTR ('','C') の場合は NULL を返し、INSTR (' ','C') の場合は 0 を返します。一部のデータベースにプッシュされると、INSTR ('','C') は NULL ではなく 0 を返す場合があります。 |
注:違いはスペース文字です。C文字は単なる例です。
|
•
|
INSTR は空の文字列を NULL として扱います。 |
|
•
|
部分文字列の一致の場所は、左側の最初の文字位置から始まるカウントで報告されます。 |
|
•
|
INSTR 関数を使用して、連結された値を解析し、スペースで区切られた名前または単語の間のスペースを識別できます。 |
|
•
|
先頭のスペースはそれぞれ 1 文字としてカウントされます。 |
注:関連する関数「POSITION」も参照してください。
例
INSTR (' jean_doe', ' ', 2, 1)
このサンプルINSTR関数呼び出し (先頭に1つのスペースを含む) は6を返します。
INSTR (' jean_doe', ' ', 2, 1)
このサンプルのINSTR関数呼び出し (先頭に2つのスペースがある) は2を返します。