SQL - 为此简单查询创建条件Where子句

TJH*_*TJH 3 sql case case-statement where-clause

我一直在尝试为下面的查询创建一个条件where子句,但我一直看到很多替代方案,我不知道在这种情况下使用什么.

我需要的是这样的东西:(当然这个代码是错误的)

where casCaseType='m'
  and casCurrentWorkflowID=990
  and cmsDateCreated between @FromDate and @ToDate

 CASE @WFStatus
      WHEN @WFStatus=1 then eveworkflowID<100
      WHEN @WFStatus=2 then eveworkflowID<200
      WHEN @WFStatus=3 then eveworkflowID<300
      WHEN @WFStatus=4 then eveworkflowID<400
 ELSE 0
 END
Run Code Online (Sandbox Code Playgroud)

因此,当我选择WFStatus参数为1时,它会自动使用where子句的那一部分,只显示那些eveworkflowID小于100的结果.

任何帮助将不胜感激!

谢谢

ype*_*eᵀᴹ 5

WHERE casCaseType='m'
  AND casCurrentWorkflowID=990
  AND cmsDateCreated between @FromDate and @ToDate

  AND eveworkflowID < 
      CASE @WFStatus
        WHEN 1 THEN 100
        WHEN 2 THEN 200
        WHEN 3 THEN 300
        WHEN 4 THEN 400
        ELSE 0
      END
Run Code Online (Sandbox Code Playgroud)