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

vấn đề với Add_month trong oracle, tôi cần tạo chu kỳ thanh toán

Một chút tính toán có thể hữu ích.

SQL> with test (col) as
  2    (select date '2020-03-27' from dual union all
  3     select date '2020-01-10' from dual union all
  4     select date '2018-02-27' from dual union all
  5     select date '2018-02-28' from dual
  6    )
  7  select col,
  8    least(add_months(col, 1),
  9          add_months(trunc(col, 'mm'), 1) + (col - trunc(col, 'mm'))
 10         ) result
 11  from test
 12  order by col;

COL        RESULT
---------- ----------
27.02.2018 27.03.2018
28.02.2018 28.03.2018
10.01.2020 10.02.2020
27.03.2020 27.04.2020

SQL>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gửi một mảng giá trị tới thủ tục Oracle để sử dụng trong mệnh đề WHERE IN

  2. Chọn giá trị phần tử xml trong Oracle

  3. SQL Chọn ngày có doanh số bán tối đa cho từng bộ phận

  4. Thực hiện nối bên trong cho nhiều cột trong cùng một bảng

  5. Đảo ngược trong Oracle đường dẫn này z / y / x thành x / y / z