admin

如何选择12个月以上的数据?

sql

我有一张表,如下:

caravan_id, description, date_purchased, special_instructions, health&safety_check, notes

health&safety_check 是日期字段。

如何对该表中的数据执行SQL查询,以返回所有health&safety_check早于12个月的行。但是,如果可能的话,则以12个月为基础,而不是以今天的日期为依据,例如<10/12/2011


阅读 173

收藏
2021-07-01

共1个答案

admin

就像是:

select *
from t
where add_months("health&safety_check", 12) < sysdate

我假设您不想对当前日期进行 硬编码 ,但对使用变量感到满意。

Jeff在评论中提出了一个很好的观点(尽管在Oracle中,您可以在函数上创建索引,以便解决问题)。这很容易解决:

where "health&safety_check" <add_months(sysdate, -12)
2021-07-01