我需要从下个月开始在这个选择中获得最后一天。
select (last_day(month from :date+1)||'.'||
(extract(month from :date)+1)||'.'||
extract(year from :date))
from dual;
月份和年份一切正常,但我的日常功能有问题。
答案 0 :(得分:2)
使用(extract(month from :date)+1)
对于12月的日期不起作用,因为您将在13
月结束。同样地,extract(year from :date)
将为您提供当前年份 - 如果您正在寻找从12月开始的下个月的最后一天,结果应该是下一年的1月,那么这可能不正确。
您不需要单独提取所有字段,您可以在一个语句中完成所有操作:
SELECT TO_CHAR(
LAST_DAY( ADD_MONTHS( :date, 1 ) ),
'DD.MM.YYYY'
)
FROM DUAL