将 dateadd 和 datepart 从 sybase 迁移到 oracle

migrate dateadd and datepart from sybase to oracle

我试图将这句话sql从Sybase迁移到Oracle,但我现在不知道如何实现 dateadddatepart.

select  @v_date = convert(char,convert(char(4),datepart(year, dateadd(month, -13, getdate()))) + "/" + 
         right(( "00" + convert(varchar(2), datepart(month, dateadd(month, -13, getdate())))) , 2) + "/01", 112)

我已经搜索并知道 Oracle 使用 interval 但我仍然不明白如何使用。

我不是 Sybase 用户,但我正在根据代码假设您想要 13 个月前的月初。

在这种情况下,它的:

SQL> select trunc(add_months(sysdate,-13),'MM') from dual;

TRUNC(ADD
---------
01-OCT-20