Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

PL / SQL Làm thế nào để lấy X ngày trước từ Ngày là Ngày?

Giả định rằng 08-APR-13 là một chuỗi trong tình huống của bạn. Vì vậy, bạn cần chuyển đổi nó thành date sử dụng to_date hàm, và sau đó chỉ cần trừ đi 100 ký tự.

  • 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
    

HOẶC

     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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào và khi nào các chỉ mục được sử dụng trong các hoạt động CHÈN và CẬP NHẬT?

  2. Triển khai nhiều phiên bản máy tính Oracle bằng cách sử dụng một nhóm cá thể và biểu mẫu địa hình

  3. Oracle Unicode Spooling

  4. Làm thế nào để thêm giây cuối cùng vào ngày?

  5. Điều kiện nối trên nhiều cột so với nối đơn trên các cột được nối?