WHERE子句和IN运算符中的T-SQL CASE

时间:2016-01-18 08:23:00

标签: sql tsql

我尝试执行此查询,其中我有一个where子句。问题是我需要在String s = "X-4711"; 条件内使用运算符String x = s.Split("-")[1] + ";" + s.Split("-")[0];

任何人都可以帮助我?

这是查询。感谢。

WHERE

2 个答案:

答案 0 :(得分:1)

不需要case表达式,只需使用布尔逻辑:

SELECT *
FROM EMPLOYEE
WHERE (@title = 'All'
      AND title IN ('FSOT', 'FSO', 'FISO', 'SFSO', 'PB', 'SPB')
      )
  OR (@title <> 'All'
      AND title = @title
      )

答案 1 :(得分:0)

您可以使用逻辑or运算符实现此行为:

SELECT * 
FROM   employee
WHERE  (@title = 'All' AND Title IN ('FSOT', 'FSO', 'FISO', 'SFSO', 'PB', 'SPB')) OR
       (@title != 'All' AND Title = @title)