0

我有一个带有多个参数的存储过程,其中两个允许空值。

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)

Param1param2允许空值,但必须填写一个。如果两者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 回答