我要编写的代码是“如果审查日期在下个月,请给我。”
Select id, review_date
from Table
Where (review date is in any part of the next month next month)?
我尝试过:
where CAST("Revw_Dt" AS date) = ADD_MONTHS(Current_Date, 1)
,但这仅将下个月的审核日期=返回今天。 如果下个月在任何地方,我都需要它。
答案 0 :(得分:1)
请考虑以下方法,该方法将愉快地使用date列上的现有索引:
SELECT id, review_date
FROM mytable
WHERE
review_date >= ADD_MONTH(TRUNC(SYSDATE, 'month'), 1)
AND review_date < ADD_MONTH(TRUNC(SYSDATE, 'month'), 2)
答案 1 :(得分:0)
只需将审核日期的月份组成部分与下个月的日期进行比较:
SELECT *
FROM yourTable
WHERE EXTRACT(MONTH FROM Revw_Dt) = EXTRACT(MONTH FROM ADD_MONTHS(CURRENT_DATE, 1));
答案 2 :(得分:0)
您需要结合使用add_months
和trunc
函数。
Select * from your_table
Where trunc(Revw_Dt, 'month') = trunc(add_months(current_date,1),'month');
干杯!