sql >> Databáze >  >> RDS >> Oracle

PL/SQL Jak získat před X dnem datum jako datum?

Předpokládalo se, že 08-APR-13 je řetězec ve vaší situaci. Musíte jej tedy převést na date pomocí to_date a poté jednoduše odečtěte 100 literálů.

  • 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
    

NEBO

     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


  1. Jak implementovat vnořené příkazy MySQLi?

  2. MySQL ERROR 1046 (3D000):Při aktualizačním dotazu není vybrána žádná databáze

  3. Nelze vytvořit zdroj dat Eclipse do Oracle 12c pomocí 12c jar. Nicméně 11g funguje

  4. Jak obejít MySQL Chyba tabulky nelze znovu otevřít