在T-SQL的where子句中使用if-else逻辑

时间:2010-06-29 19:20:56

标签: sql-server tsql

有没有办法在T-SQL的where子句中使用if-else逻辑?或者我是否必须使用子查询来实现逻辑?

2 个答案:

答案 0 :(得分:4)

使用Case

(case foo when bar then baz else fizz end)

答案 1 :(得分:4)

您可以在where子句中使用case语句,但它可能会产生性能问题,因此如果您有大型数据集,可能需要尝试不同的方法。相关子查询不是一个好的替代方法;派生表或CTE可能是。