我有一个Oracle Select
语句,在其中我有以下内容:
MONTHS_BETWEEN(CON.F_CON_END_DATE, TRUNC(SYSDATE)) MONTHSTOEXPIRE,
该代码的目的是让我获得两个日期之间的月数。它确实有效,但它以一种破坏我的VB.NET代码的方式返回它们。有关溢出异常的事情!
它返回1.83870967741935
,我期待一个2
?
我该怎么做才能使我的查询返回MONTHSTOEXPIRE
值的最接近的整数?
我猜你只需要使用round()函数?
ROUND(MONTHS_BETWEEN(CON.F_CON_END_DATE, TRUNC(SYSDATE)), 0) MONTHSTOEXPIRE
它适用于我的Oracle。
让我知道它是否适用于你的!
你可以试试
使用像这一轮(MONTHS_BETWEEN('29 -Jun-2014',TRUNC(SYSDATE)))MONTHSTOEXPIRE,因为你不能总是得到确切的月计数,你可以得到确切的值并将其四舍五入到最接近的整数