まず、ここで書式設定が不十分であることをお詫びします。
2 番目に、テーブル スキーマの変更はオプションではないことを前もって述べておく必要があります。
したがって、次のように定義されたテーブルがあります。
ピンvarchar
オファーコードvarchar
ピンには、
abc、
abc123などのデータが含まれます。
OfferCode には次のようなデータが含まれます:
123
123~124~125
Pin/OfferCode の組み合わせの数を確認するクエリが必要です。OfferCode と言うときは、チルダで区切られた個々のアイテムを意味します。
たとえば、 のように見える 1 つの行と のようabc, 123
に見える別の行があり、カウント = 2 を取得するために I wandabc,123~124
のカウントを検索するとします。Pin=abc,OfferCode=123
明らかに、これと同様のクエリを実行できます。
SELECT count(1) from MyTable (nolock) where OfferCode like '%' + @OfferCode + '%' and Pin = @Pin
ここでの使用like
は非常に高価であり、より効率的な方法があることを願っています。
また、分割文字列ソリューションの使用も検討しています。SplitString(string,delim)
table を返すテーブル値関数がOutParam
ありますが、これをテーブル列と文字列に適用する方法がよくわかりません。これは追求する価値があるでしょうか?はるかに高価になるようですが、ソリューションと比較するための実用的なソリューションを取得できませんlike
。