database - 从当前日期以及未来生效日期在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
解决方案
为 mysql 试试这个:
SELECT * FROM table1 WHERE dob > NOW() - INTERVAL 3 YEAR;
CURRENT_DATE
如果您想从每天开始就使用它。
如果您只想计算年份:
SELECT * FROM table1 WHERE year(dob) >= year(NOW()) - 3;
推荐阅读
- java - Selenium 文件上传错误-> org.openqa.selenium.ElementNotInteractableException:元素不可交互
- css - 定位整个文档中的奇数元素,而不仅仅是兄弟姐妹
- php - 我希望我的日期格式为 09:54:24
- javascript - 错误:在我的 NodeJS 应用程序中找不到模块“../../models/blog”
- c++ - 计算彼此之间数字的平均值 C++
- python - 使用 telnetlib 在 telnet 期间从 tn.write() 获取输出
- react-native - 无法从 api 的响应中设置状态
- javascript - 在 Gatsby Typescript 中使用 SVG 时出错
- python - 创建用于图像更改的 Keras CNN
- javascript - 在历史记录中单击取消后,URL 不会变回。如果页面之前刷新过,则阻止警报框