我正在寻找一种方法让SQL显示我们所在年份的数据。 在我的页面上,数据显示如下:
SELECT * FROM test WHERE date > '01.01.2014' (European date style)
但是当我们搬到2015年时,我必须更改代码以显示年份数据。 所以我在想,也许SQL有一些神奇的功能可以让我显示这样的数据:
SELECT * FROM test WHERE date = 'this.year'
尝试搜索网页/谷歌搜索答案,但我找不到一个好的方法来将问题写在一个可理解的句子中。
答案 0 :(得分:1)
一种简单的方法是:
SELECT *
FROM test
WHERE year(date) = year(now());
更高级的方法是避免date
上的功能。这允许使用索引:
SELECT *
FROM test
WHERE date >= makedate(year(now()), 1) and
date < makedate(year(now()) + 1, 1);
答案 1 :(得分:1)
您可以使用year
功能:
SELECT * FROM test WHERE YEAR(`date`) = YEAR(NOW())
答案 2 :(得分:0)
SELECT * FROM test WHERE year(date) = year(curdate())