0

ストアドプロシージャには次のものがあります:

@parameter int

このパラメーターに基づいて、-1 または 0 より大きいデータを取得します。

問題は、-1 の場合、このパラメーターを where 句に含めたくないということです。

だから私がやろうとしていることは次のようなものです:

IF @parameter = -1 THEN
WHERE ...
ELSE
where ... AND Column = @parameter

しかし、これはうまくいきません。

4

2 に答える 2

7

通常、次のようにその制約を適用します。

WHERE [...] AND (@parameter = -1 OR Column = @parameter)
于 2012-05-17T18:54:03.407 に答える
1
where 
  @parameter != - 1 AND Column = @parameter

Dan Jと私の答えの違いは、@parameterが-1の場合は何も一致しないということです。ダンJはすべてを返し、おそらくあなたが望む行動です。

于 2012-05-17T18:55:05.650 に答える