我需要编写一个查询,其中选择所有30年前有生日的人。不幸的是,由于我正在使用Oracle,因此无法使用该DATEADD()功能。
DATEADD()
我目前有这个,但是显然这不是动态的,并且随着时间的流逝也不会改变:
SELECT Name, DOB FROM Employee WHERE DOB <= DATE '1985-01-01';
使用Add_MONTHS来 添加 (- 12 * 30)。
Add_MONTHS
(- 12 * 30)
SELECT Name, DOB FROM Employee WHERE DOB <= ADD_MONTHS(SYSDATE, -(12 * 30));