这可能是一个简单的where子句,但我想说,从columnX(这是datetime),我想要所有的行,只是在年份= 2010年.
@H_
301_2@所以:
select * from mytable where Columnx =
select * from mytable where year(Columnx) = 2010
@H_
301_2@关于指数使用(回答Simon的
评论):
@H_
301_2@如果您在Columnx上有一个索引,
sqlServer将不会使用它,如果您使用
函数“年”(或任何其他
功能).
@H_
301_2@有两种可能的
解决方案,一种是按照Columnx> =’01012010’和Columnx = 31122010进行
搜索,另一个是使用年(Columnx)表达式创建计算列,对其进行索引,以及然后在此新列上执行过滤器