我试图向上舍入到最近的月份。到目前为止,我有:
w
四舍五入到最接近的月份,在这种情况下为向上。发布时,输出为SELECT ROUND(CURRENT_DATE, 'MM') FROM DUAL
,格式为03/01/2019
。
但是,例如,如果是一个月的第一天怎么办?
MM/DD/YYYY
这将产生与上述相同的输出。但我期望SELECT ROUND(TO_DATE('01-03-19','DD-MM-YY'), 'MM') FROM DUAL
。
我可以做类似的事情:
04/01/2019
产生了预期的输出SELECT TRUNC(ADD_MONTHS(TO_DATE('30-03-19','DD-MM-YY'),1), 'MM') - 1 FROM DUAL
。
我要3月30日,加上一个月。将其截断以得到该月的第一天,然后减去上个月的最后一天。
现在这可行,但是看起来又长又乏味。当然有更好的方法吗?
答案 0 :(得分:2)
如果您要查找当月的最后一天
LAST_DAY(SYSDATE)
如果您要查找下个月的第一天
LAST_DAY(SYSDATE) + 1