sql >> Databasteknik >  >> RDS >> Oracle

problem med Add_month i oracle, jag måste generera faktureringscykel

Lite uträkning kan hjälpa.

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. Hur jämför man versionssträng (x.y.z) i MySQL?

  2. MS-Access Recordset och Class Module

  3. Hitta de högsta n värdena för varje grupp i MySQL

  4. Snabbaste sättet att utföra kapslade bulkinfogningar med användning av scope_identity()?