SQL select * from column where year = 2010

这可能是一个简单的where子句,但我想说,从columnX(这是datetime),我想要所有的行,只是在年份= 2010年.

所以:

select * from mytable where Columnx =

解决方法

select * from mytable where year(Columnx) = 2010

关于指数使用(回答Simon的评论):

如果您在Columnx上有一个索引,sqlServer将不会使用它,如果您使用函数“年”(或任何其他功能).

有两种可能的解决方案,一种是按照Columnx> =’01012010’和Columnx = 31122010进行搜索,另一个是使用年(Columnx)表达式创建计算列,对其进行索引,以及然后在此新列上执行过滤器

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...