是否存在可以让我循环通过一组变量的函数?

时间:2013-10-16 22:51:29

标签: sql sql-server sql-server-2008

基本上我有一个SQL查询,其中包含where子句 WHERE (DATEPART(yyyy, ESCDATE) = 2012)

查询背后还有很多其他代码。我知道我可以做一个联盟,它工作得很好,但我最终得到了大量的查询,当我想要做的就是将上述日期更改为2011年或2013年。有没有更简单的方法来格式化这个来做相当于多个变量不重复UNION查询中的整个语句?

2 个答案:

答案 0 :(得分:1)

尝试将IN子句与GROUP BY组合

WHERE DATEPART(yyyy, ESCDATE) IN (2011, 2012, 2013)
GROUP BY DATEPART(yyyy, ESCDATE)

您可能还需要将其他值select添加到group by子句中,而不是聚合值。

答案 1 :(得分:0)

您在寻找IN运营商吗?如在

WHERE (DATEPART(yyyy, ESCDATE) IN (2011, 2012) )