一、通过mysql数据库方式实现:
SELECT * FROM test
查询近五年数据的sql语句:
SELECT
YEAR,
NAME
FROM
`test`
WHERE
YEAR > YEAR (
DATE_SUB( CURDATE(), INTERVAL 5 YEAR ))
查询近五年数据结果:
CURDATE()函数:
SELECT CURDATE() FROM DUAL;
YEAR()函数:
SELECT YEAR(CURDATE()) FROM DUAL;
DATE_SUB()和INTERVAL函数:
SELECT DATE_SUB( CURDATE(), INTERVAL 5 YEAR ) FROM DUAL;
SELECT DATE_SUB( '2017-02-09', INTERVAL -5 YEAR ) FROM DUAL;
二、java代码方式实现功能:
查询当前年过去五年的第五年年份
public class DateTest {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR, -5);
int year = calendar.get(Calendar.YEAR);
System.out.println("year = " + year);
}
}
sql语句可以改写为:
SELECT
year,
name
FROM
`test`
WHERE
YEAR > 2018
查询结果: