Articles

SQL Server PATINDEX関数

概要:このチュートリアルでは、SQL ServerPATINDEX()関数を使用して、文字列内のパターンの位置を検索する方法

SQL Server PATINDEX()概要

PATINDEX()PATINDEX()関数の構文は次のとおりです。

PATINDEX ( '%pattern%' , input_string )
Code language: SQL (Structured Query Language) (sql)

PATINDEX()関数は二つの引数を受け入れます:p>

  • pattern%'_'LIKE演算子で使用されるのと同じです。
  • input_stringは、検索するパターンの文字列です。

PATINDEX()patterninput_stringPATINDEX()patterninput_stringのいずれかがNULLの場合、NULLを返します。

PATINDEX()COLLATE句を明示的に使用できます。

SQL Server PATINDEX()関数の例

PATINDEX()'SQL Pattern Index''ern'の開始位置を返します。

SELECT PATINDEX('%ern%', 'SQL Pattern Index') position;
Code language: SQL (Structured Query Language) (sql)

ここでの出力は次のとおりです:

position-----------9(1 row affected)

b)SQL Server PATINDEX()を複数のワイルドカードで使用する例

この例では、%_'f''ction''SQL Server String Function'文字列で始まります。

SELECT PATINDEX('%f__ction%', 'SQL Server String Function') position;
Code language: SQL (Structured Query Language) (sql)

出力は次のとおりです:

Position-----------19(1 row affected)

c)テーブル列の例でSQL Server PATINDEX()関数を使用する

この例では、2018product_nameproduction.productsproduction.productsproduction.products20182018product_nameproduct_name/div>サンプルデータベースのテーブル。p>

SELECT product_name, PATINDEX('%2018%', product_name) positionFROM production.productsWHERE product_name LIKE '%2018%'ORDER BY product_name;
Code language: SQL (Structured Query Language) (sql)

次の図は、部分的な出力を示しています:

SQL Server PATINDEX関数の例

このチュートリアルでは、SQL ServerPATINDEX()関数を使用して、文字列内のパターンの最初の出現位置を