SQLサーバーのPATINDEX関数の使い方

SQL Server の PATINDEX 関数は文字列内でパターンを検索し、パターン開始位置を返します。以下の構文があります。

PATINDEX(‘パターン’, ‘文字列’)

「pattern」は検索するパターンであり、ワイルドカード文字を含めることができます。ただし、サポートされるワイルドカード文字は % と _ のみです。「string」はパターンを検索する対象文字列です。

例えば、「Hello, World!」という文字列の中で「lo」という文字列の開始位置を見つけたい場合は、次のような記述を使用できます。

「Hello, World!」の中で「lo」を含んでいる位置を抽出する

実行結果は 4 で、「lo」の開始位置が 4 文字目であることを示しています。

また、「He」で始まる文字列の部分文字列を検索する場合は、以下の文を使用できます。

「Hello, World!」内で「He」で始まるパターンを探します

「He」で始まる部分文字列の開始位置は1文字目であることを表す:1

パターンが見つからなかった場合、PATINDEX 関数は 0 を返します。

PATINDEX 関数は大文字小文字を区別することに注意してください。大文字と小文字を区別しないパターン一致を実行する場合は、COLLATE 句を使用して大文字と小文字を区別しない文字セットを指定できます。例:

%lo%が文字列「Hello, World!」に含まれているかどうかを検査します(大文字小文字を区別しません)

CIは大小文字を区別しないことを、ASはキャラクタセット Latin1_General を使用することを示します。

广告
広告は10秒後に閉じます。
bannerAds