小编典典

在Oracle SQL中从当前日期减去30年

sql

我需要编写一个查询,其中选择所有30年前有生日的人。不幸的是,由于我正在使用Oracle,因此无法使用该DATEADD()功能。

我目前有这个,但是显然这不是动态的,并且随着时间的流逝也不会改变:

SELECT Name, DOB
FROM Employee
WHERE DOB <= DATE '1985-01-01';

阅读 176

收藏
2021-05-23

共1个答案

小编典典

使用Add_MONTHS
添加 (- 12 * 30)

SELECT Name, DOB
FROM Employee
WHERE DOB <= ADD_MONTHS(SYSDATE, -(12 * 30));
2021-05-23