PL/SQL如何从日期中获取X天前的日期? [英] PL/SQL How to get X day ago from a Date as Date?

查看:211
本文介绍了PL/SQL如何从日期中获取X天前的日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to get 100 days ago from 08-APR-13, as date.

如何使用pl/sql做到这一点?

How to do it with pl/sql?

推荐答案

在您的情况下,假定08-APR-13是字符串.因此,您需要使用to_date函数将其转换为date,然后简单地减去100个文字.

Assumption was made that the 08-APR-13 is a string in your situation. So you need convert it to date using to_date function, and then simply subtract 100 literal.

  • SQL

  • SQL

SQL> select (to_date('08-APR-13', 'DD-MON-RR') - 100) res
  2    from dual
  3  /

RES
-----------
29-12-2012

  • PL/SQL

  • 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
    

  • OR

         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
    

    这篇关于PL/SQL如何从日期中获取X天前的日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆