STRPOS 関数 - Amazon Redshift

STRPOS 関数

指定された文字列内のサブ文字列の位置を返します。

同様の関数については、「CHARINDEX 関数」および「POSITION 関数」を参照してください。

構文

STRPOS(string, substring )

引数

string

最初の入力パラメータは、検索する CHAR または VARCHAR 文字列です。

substring

2 番目のパラメータは、string 内で検索するサブ文字列です。

戻り型

INTEGER

STRPOS 関数は、substring の位置に対応する INTEGER (0 ではなく 1 から始まる) を返します。位置はバイト数ではなく文字数に基づくため、マルチバイト文字は 1 文字としてカウントされます。

使用に関する注意事項

string 内で substring が見つからない場合、STRPOS は 0 を返します。

SELECT STRPOS('dogfish', 'fist'); +--------+ | strpos | +--------+ | 0 | +--------+

dogfish 内の fish の位置を示すには、次の例を使用します。

SELECT STRPOS('dogfish', 'fish'); +--------+ | strpos | +--------+ | 4 | +--------+

次の例では、TICKIT サンプルデータベースの SALES テーブルからのデータを使用します。詳細については、「サンプルデータベース」を参照してください。

SALES テーブル内で COMMISSION が 999.00 を上回る販売取引の数を返すには、次の例を使用します。

SELECT DISTINCT STRPOS(commission, '.'), COUNT (STRPOS(commission, '.')) FROM sales WHERE STRPOS(commission, '.') > 4 GROUP BY STRPOS(commission, '.') ORDER BY 1, 2; +--------+-------+ | strpos | count | +--------+-------+ | 5 | 629 | +--------+-------+