@Variantが提供されているコードを書いています。私はそれらを変数(ランタイム)に取り込んで複数の値を格納し、それらをWHERE節に渡したいと思っていました。SQLのLIKEワイルドカード
DECLARE @Variant VARCHAR(50)
SET @Variant='''25'',''33'''
SELECT @Variant ---- which is actually '25','33'
SELECT 'TRUE' WHERE '25' IN (@Variant)
DECLARE @Variant VARCHAR(50)
SET @Variant='''25'',''33'''
SELECT @Variant ---- which is actually '25','33'
SELECT 'TRUE' WHERE '25' IN (SELECT @Variant)
上記のクエリが動作しないロジック...
--DECLARE @Variant VARCHAR(50)
--SET @Variant='''25'',''33'''
--SELECT @Variant
SELECT 'TRUE' WHERE '25' IN ('25','33')
上記のSQLを受け入れた場合、私が試した-which SQL Serverでの単純クエリがあるを共有します。私の実際のクエリは、WHERE句のLIKE文にワイルドカードを渡すことです。
DECLARE @Variant VARCHAR(50) SET @Variant = '' 'は25%」OR [Item_No] ''33%' LIKE '[Item_No] LIKE表1から' SELECT @Variant
SELECT * (@Variant) - @variableは実行中にその値に置き換えられます。
とにかく簡単な方法 - Where句に複数のワイルドカードを指定したいItem_Noがあります。インライン関数に似たメソッドがあります。これは@variantのテキストを置き換えて、それを組み合わせて実行する必要があります。
使用するdbmsにタグを付けます。 (そのコードはANSI SQLのようには見えません...) – jarlh
これは 'LIKE'やワイルドカードとは関係ありません。タグを修正してください。 – Pred
なぜ「ワイルドカード」と「好き」のタグを付けましたか? – kostas