1

我已经使用语法{?EndDate} - INTERVAL '1' YEAR有一段时间了,我知道我最终会遇到一个问题,我就解决了。我试着去做DATE '2010-12-31' - INTERVAL '6' MONTH,但因为没有 6 月 31 日而窒息。对此进行编码的最有效和最一致的方法是什么?虽然追踪做出这种决定的人会更令人满意,但这是不切实际的。:-)

4

1 回答 1

3

我不确定是否有一致的方法,因为这当然取决于某人认为是 6 个月。然而,恕我直言,可以安全地假设这add_months是减去或增加月份的标准方法(至少在 Oracle 中):

select add_months(DATE '2010-12-31',-6)  from dual;

此表达式返回 2010 年 6 月 30 日(这是该月的最后一天(如 12 月 31 日)。

于 2011-01-20T19:50:43.993 回答