这可能是一个简单的where子句,但我想说的是,从columnX(日期时间)开始,我希望所有年份都为year = 2010的行。
所以:
select * from mytable where Columnx =
select * from mytable where year(Columnx) = 2010
关于索引用法(回答Simon的评论):
如果在Columnx上有索引,则如果使用函数“ year”(或任何其他函数),则SQLServer将不会使用该索引。
有两种可能的解决方案,一种是按时间间隔进行搜索,例如Columnx> =‘01012010’和Columnx <=‘31122010’,另一种方法是使用year(Columnx)表达式创建一个计算列,对其进行索引,然后然后在此新列上进行过滤