从Oracle中的Date减去时间间隔

时间:2015-11-13 12:16:35

标签: sql oracle

我想做CURRENT_DATE-number_of_days这样的事情,它应该以格式yyyy-MM-dd返回日期。这可能是Oracle数据库查询吗?

1 个答案:

答案 0 :(得分:1)

您可以使用SYSDATE(特定于oracle)或CURRENT_DATE(ANSI)来获取当前日期/时间。

在SQL Developer中,您可以通过转到“工具”>来设置日期格式。 “首选项”并选择“数据库”>左侧是“NLS”,然后编辑日期格式。

如果你想在大多数情况下使用不同的日期格式,但在这个单一实例中想要ISO 8601格式的日期(YYYY-MM-DD),那么你可以使用TO_CHAR( date, 'YYYY-MM-DD')(但它会返回作为字符串而不是日期)。

要从日期添加(减去)天数,您可以执行以下几个选项之一(注意:SQLFIDDLE在您指定的输出上具有不同的NLS日期格式参数,但它应该给您提示):

SQL Fiddle

查询1

SELECT CURRENT_DATE - INTERVAL '1' DAY,
       CURRENT_DATE - 1
FROM   DUAL

<强> Results

| CURRENT_DATE-INTERVAL'1'DAY |             CURRENT_DATE-1 |
|-----------------------------|----------------------------|
|  November, 12 2015 12:28:40 | November, 12 2015 12:28:40 |