Oracle中DATEADD()的等效函数

时间:2014-06-25 09:44:57

标签: sql oracle

我必须得到Oracle系统日期后6个月的日期。
我必须通过运行SQL的开放查询来获取它。 DATEADD(MONTH,-6, GETDATE())函数用于SQL的目的。

SQL中的函数DATEADD(MONTH,-6, GETDATE())是否在Oracle中具有equivalent函数?

4 个答案:

答案 0 :(得分:24)

方法1: ADD_MONTHS

ADD_MONTHS(SYSDATE, -6)

方法2: Interval

SYSDATE - interval '6' month

注意:  如果你想从当月开始执行操作,TRUNC(SYSDATE,'MONTH')就会给出。它期望Date数据类型作为输入。

答案 1 :(得分:6)

等价物

ADD_MONTHS( SYSDATE, -6 )

答案 2 :(得分:5)

不是我的回答

我对上面的答案不太满意,另外一些搜索产生了这个:

SELECT SYSDATE AS current_date,

       SYSDATE + 1 AS plus_1_day,

       SYSDATE + 1/24 AS plus_1_hours,

       SYSDATE + 1/24/60 AS plus_1_minutes,

       SYSDATE + 1/24/60/60 AS plus_1_seconds

FROM   dual;

我发现非常有帮助。来自http://sqlbisam.blogspot.com/2014/01/add-date-interval-to-date-or-dateadd.html

答案 3 :(得分:0)

--ORACLE SQL EXAMPLE
SELECT
SYSDATE
,TO_DATE(SUBSTR(LAST_DAY(ADD_MONTHS(SYSDATE, -1)),1,10),'YYYY-MM-DD')
FROM DUAL