在where子句中添加一年到一年

时间:2014-02-01 23:27:00

标签: mysql sql mysql-workbench

我有一个名为“event”的表和“year”列:

year
-----------
2013.01.01
2014.03.01
2015.02.03

如何在where子句中查询类似的内容:

SELECT * FROM event 
WHERE  year>=2013 to year<=year+1; 

(所以“年+ 1”应该给我2014年)我不需要日期和月份。

谢谢。

2 个答案:

答案 0 :(得分:0)

只需提供两年的年份,作为参数,无论如何都要使用:

SELECT * FROM event WHERE YEAR(year) >= ? AND YEAR(year) <= ?+1

为什么在包含整个日期时调用日期列'年'是个谜。如果你给它一个正确的名字,它会消除混淆。

答案 1 :(得分:-1)

mysql extract year from date format相同。

你需要写像:

SELECT *, YEAR(STR_TO_DATE(year, "%Y.%m.%d")) as year2 FROM event 
WHERE  year2 >= 2013 AND year2 <= year2 + 1; 

坦率地说,误解应该做什么“年&gt; = 2013年到年&lt; =年+ 1;”,但现在在第二年的第二年可能是正确的年份,从日期中提取。

享受! :)