如何在where子句中使用mysql extract year

时间:2014-08-06 10:36:23

标签: mysql

我想在年份日期字段中搜索。我像这样使用Extract但它会产生错误。      

  SELECT *  FROM (blog) WHERE EXTRACT(YEAR FROM blog_dt) = '2014' 

4 个答案:

答案 0 :(得分:4)

你应该这样做:

SELECT * FROM (blog) WHERE EXTRACT(YEAR FROM blog_dt)= '2014' ;

SELECT * FROM (blog) WHERE YEAR(blog_dt)='2014'; 

答案 1 :(得分:0)

它更简单:

SELECT *  FROM (blog) WHERE YEAR(blog_dt) = 2014

参见手册:

  

YEAR

     

返回日期的年份,范围为1000到9999,或者为0   “零”约会。

     

的MySQL>选择年份(' 1987-01-01');

     -> 1987

答案 2 :(得分:0)

在EXTRACT()函数之后你有一个额外的撇号,删除它并且它应该工作(尽管@ VMai的解决方案更容易和更易读

答案 3 :(得分:0)

您可以使用MYSQL中提供的功能日期格式。

select * FROM blog WHERE DATE_FORMAT(blog_dt,'%Y')='2014'; 

有关更多数据相关功能,请访问URL