SQL Server PATINDEX関数
概要:このチュートリアルでは、SQL ServerPATINDEX()
関数を使用して、文字列内のパターンの位置を検索する方法
SQL Server PATINDEX()概要
PATINDEX()
PATINDEX()
関数の構文は次のとおりです。
Code language: SQL (Structured Query Language) (sql)PATINDEX ( '%pattern%' , input_string )
PATINDEX()
関数は二つの引数を受け入れます:p>
pattern
%
'_'
LIKE
演算子で使用されるのと同じです。input_string
は、検索するパターンの文字列です。
PATINDEX()
pattern
input_string
PATINDEX()
pattern
input_string
のいずれかがNULLの場合、NULLを返します。
PATINDEX()
COLLATE
句を明示的に使用できます。
SQL Server PATINDEX()関数の例
PATINDEX()
'SQL Pattern Index'
'ern'
の開始位置を返します。
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%ern%', 'SQL Pattern Index') position;
ここでの出力は次のとおりです:
position-----------9(1 row affected)
b)SQL Server PATINDEX()を複数のワイルドカードで使用する例
この例では、%
_
'f'
'ction'
'SQL Server String Function'
文字列で始まります。
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%f__ction%', 'SQL Server String Function') position;
出力は次のとおりです:
Position-----------19(1 row affected)
c)テーブル列の例でSQL Server PATINDEX()関数を使用する
この例では、2018
product_name
production.products
production.products
production.products
2018
2018
product_name
product_name
/div>サンプルデータベースのテーブル。p>
Code language: SQL (Structured Query Language) (sql)SELECT product_name, PATINDEX('%2018%', product_name) positionFROM production.productsWHERE product_name LIKE '%2018%'ORDER BY product_name;
次の図は、部分的な出力を示しています:
このチュートリアルでは、SQL ServerPATINDEX()
関数を使用して、文字列内のパターンの最初の出現位置を
Leave a Reply