当我发现28-FEB-11和29-FEB-12之间的月份时,oracle中的函数之间的月份返回12.实际上它应该是12.096.此功能不适用于闰年.
在28-FEB-11和29-FEB-12之间,为1年(12个月)和1天.
select months_between('28-FEB-12', '28-FEB-11') from dual; -- 12
**select months_between('29-FEB-12', '28-FEB-11') from dual; -- 12**
select months_between('28-FEB-12', '27-FEB-11') from dual; -- 12.0322
select months_between('27-FEB-12', '28-FEB-11') from dual; -- 11.9677
Run Code Online (Sandbox Code Playgroud)
这是一个Oracle漏洞??
-Vishwa