3
MS SQL Server 2005で、ストアドプロシージャパラメータとして演算子を渡す方法があるかどうかは疑問です。私は本当にそれが可能な場合でも、動的SQLの使用を避ける必要があります。T-SQLストアドプロシージャ - 動的AND演算子
@AppOperator = "AND"
WHERE (1 = 1) @AppOperator (2 = 2)
MS SQL Server 2005で、ストアドプロシージャパラメータとして演算子を渡す方法があるかどうかは疑問です。私は本当にそれが可能な場合でも、動的SQLの使用を避ける必要があります。T-SQLストアドプロシージャ - 動的AND演算子
@AppOperator = "AND"
WHERE (1 = 1) @AppOperator (2 = 2)
ないが、これは動作します:あなたが動的に割り当てられたオペレータを持つクエリを持つことができるようになります
@AppOperator = "AND"
...
WHERE (
@AppOperator = "AND" AND ((1 = 1) AND (2 = 2))
OR
@AppOperator = "OR" AND ((1 = 1) OR (2 = 2))
)
...
これは機能するはずです。神に感謝私は1つの表現を繰り返すだけです。助けてくれてありがとう! – Jared
わからない場合動的SQLを使用しないでください(そうでないとわかりません)。動的SQLが不可能な場合は、2つのほぼ同一の文を設定することができます。一方はwhereとandを、もう一方はwhereとifを使用してどちらを使用するかを決定します。 – Twelfth