我的存储过程中有输入参数。例如,
DECLARE @fromDate DateTime = NULL
DECLARE @toDate DateTime = NULL
DECLARE @Id int = NULL
我想在 where 子句中写一个条件,例如...如果提供了 fromDate,则必须在 @fromDate 上进行搜索。如果未提供@fromDate,则检查@Id 变量,如果它不为空,则根据@Id 搜索...
就像是...
where
CASE
when @fromDate is not null
THEN (@FromDate is null or ([Created] between @FromDate and @ToDate))
ELSE (@requestId is null or Id=@requestId)
以下解决方案存在一个问题...如果同时提供了@fromDate 和@Id,那么这将对它们进行检测,并且没有任何返回.....条件应该是...如果@fromDate 被给予优先权到@fromDate 即使提供了@Id 并且结果不能依赖于@Id 参数....