0

いくつかのパラメーターを受け取るストアドプロシージャがあり、そのうちの2つはnullを許可します。

param1 = null [name]
param2 = null [id]

次のロジックを実装したいと思います。

if param1 is null then where clause = (where col2 like param2)
else if param2 is null then where clause = (where col1 like param1)
else where clause = (where col2 like @param2 and col1 like param1)

Param1nullをparam2許可しますが、1つ入力する必要があります。との両方param1param2空白のままにすると、出力は期待されません。構文が正しくわかりません。

4

1 に答える 1

2

そこにある質問が何であるかわかりませんが、私は提供します:

where ( param1 is not NULL or param2 is not NULL ) and
  ( ( ( col1 like param1 ) or param1 is NULL ) or
  ( ( col2 like param2 ) or param2 is NULL ) )
于 2012-08-10T19:27:49.420 に答える