小编典典

PL / SQL如何从日期中获取X天前的日期?

sql

我想100天前从13年4月8日开始作为日期。

如何使用pl / sql执行此操作?


阅读 278

收藏
2021-03-23

共1个答案

小编典典

假设情况是08-APR-13您所处的字符串。因此,您需要将其转换为dateusingto_date函数,然后简单地减去100个文字。

  • SQL

    SQL> select (to_date('08-APR-13', 'DD-MON-RR') - 100) res
    

    2 from dual
    3 /

    RES

    29-12-2012

  • PL / SQL

    SQL> declare
    

    2 l_res_date date;
    3 l_in_date varchar2(11) := ‘08-APR-13’;
    4 begin
    5 select (to_date(l_in_date, ‘DD-MON-RR’) - 100)
    6 into l_res_date
    7 from dual;
    8
    9 dbms_output.put_line(to_char(l_res_date, ‘dd-mon-yy’));
    10 end;
    11 /

    29-dec-12

    PL/SQL procedure successfully completed

或者

     SQL> declare
       2    l_res_date date;
       3    l_in_date  varchar2(11) := '08-APR-13';
       4  begin
       5  
       6    l_res_date := to_date(l_in_date, 'DD-MON-RR') - 100;
       7  
       8    dbms_output.put_line(to_char(l_res_date, 'dd-mon-yy'));
       9  end;
       10  /

       29-dec-12

       PL/SQL procedure successfully completed
2021-03-23