首页 > 解决方案 > 从当前日期以及未来生效日期在sql中提取最近3年的记录

问题描述

这是我的桌子。

cid name dob(timstamp dtype)(dd-mm-yyyy)
101  x    11-02-2015
333  c    22-12-2017
301  y    12-12-2018
901  z    21-07-2019
111  a    02-07-2020
222  b    31-12-9999
333  c    22-12-2025
112  c    21-02-2016

这是我的桌子。我想从当前日期以及未来生效日期中提取最近 3 年的记录。所以我的输出应该是

 cid name dob(timstamp dtype)
333  c    22-12-2017............(current year-3)
301  y    12-12-2018............(current year-2)
901  z    21-07-2019............(current year-1)
111  a    02-07-2020.............current year
222  b    31-12-9999.............future year
333  c    22-12-2025.............future year

标签: databasedb2db2-400

解决方案


为 mysql 试试这个:

SELECT * FROM table1 WHERE dob > NOW() - INTERVAL 3 YEAR;

CURRENT_DATE如果您想从每天开始就使用它。

如果您只想计算年份:

SELECT * FROM table1 WHERE year(dob) >= year(NOW()) - 3;

推荐阅读