0

ユーザーが多数の変数を使用して単一の列をフィルター処理できるデータベース テーブルがあり、現在、SQL クエリ文字列は次のようになっています。

SELECT * 
FROM TABLE1
WHERE COLUMN1 LIKE '%APPLE%'
AND COLUMN1 LIKE '%ORANGE%'
AND COLUMN1 LIKE '%GRAPE%'
AND COLUMN1 LIKE '%LEMON%'
AND COLUMN1 LIKE '%LIME%'
AND COLUMN1 LIKE '%TOMATO%'
AND COLUMN1 LIKE '%POTATO%'
...

これは、特にテーブル アダプターでパラメーター化されたクエリ文字列を使用して、最終的に 20 個のパラメーターを持つ fill および get メソッドを作成する場合に、実装するのが面倒になります。

これを行うためのより良い方法はありますか (IN コマンドを使用するなど、必要なパラメーターは 1 つだけです)。

4

2 に答える 2

2

多分regular expressionsあなたを助けるでしょう:

SELECT * 
FROM TABLE1
WHERE COLUMN1 LIKE '%[a-z]%'

使用する場合はsql-server試してみてくださいCONTAINS

SELECT * 
FROM TABLE1
WHERE CONTAINS(COLUMN1, 'APPLE AND ORANGE')

詳細については、こちらをご覧ください。

于 2012-10-11T21:25:23.973 に答える