我必须得到Oracle系统日期后6个月的日期。
我必须通过运行SQL的开放查询来获取它。 DATEADD(MONTH,-6, GETDATE())
函数用于SQL的目的。
SQL中的函数DATEADD(MONTH,-6, GETDATE())
是否在Oracle中具有equivalent
函数?
答案 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