sql >> データベース >  >> RDS >> Oracle

PL / SQL日付からX日前を日付として取得するにはどうすればよいですか?

    08-APR-13 あなたの状況では文字列です。したがって、dateに変換する必要があります to_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
    


    1. mysqlでの行から列への変換

    2. Windows用のMySQLコマンドラインクライアント

    3. SQLAlchemyを使用してmysqlのテーブルまたは列にコメントを追加するにはどうすればよいですか?

    4. SQLエラー:ORA-02298:検証できません(SYSTEM.AEROPUERTO_FK)-親キーが見つかりません