首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL select * from列where year = 2010

SQL select * from列where year = 2010
EN

Stack Overflow用户
提问于 2012-03-27 21:57:08
回答 5查看 191.6K关注 0票数 35

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

所以:

代码语言:javascript
复制
select * from mytable where Columnx =
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-03-27 21:59:15

代码语言:javascript
复制
select * from mytable where year(Columnx) = 2010

关于索引的使用(回答Simon的评论):

如果您在Columnx上有一个索引,那么如果您使用函数"year“(或任何其他函数),SQLServer将不会使用它。

有两种可能的解决方案,一种是按时间间隔进行搜索,如Columnx>='01012010‘和Columnx<='31122010’;另一种是使用year(Columnx)表达式创建一个计算列,对其进行索引,然后对这个新列进行过滤

票数 52
EN

Stack Overflow用户

发布于 2012-03-27 22:00:36

如果我了解到您想要2010年的所有行,那么:

代码语言:javascript
复制
select * 
  from mytable 
 where Columnx >= '2010-01-01 00:00:00' 
       and Columnx < '2011-01-01 00:00:00'
票数 29
EN

Stack Overflow用户

发布于 2012-03-27 21:59:05

T-SQL等;

代码语言:javascript
复制
select * from t where year(Columnx) = 2010
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9891025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档