Sql 下个月的最后一天

Sql 下个月的最后一天,sql,oracle,Sql,Oracle,我需要从下个月的最后一天在这个选择 select (last_day(month from :date+1)||'.'|| (extract(month from :date)+1)||'.'|| extract(year from :date)) from dual; 月份和年份一切正常,但最后一天功能有问题。使用(提取(月自:日期)+1)在12月的某个日期不起作用,因为您将得到第13个月。类似地,extract(year from:date)将为您获取当前年

我需要从下个月的最后一天在这个选择

select (last_day(month from :date+1)||'.'||
       (extract(month from :date)+1)||'.'||
       extract(year from :date))
  from dual;
月份和年份一切正常,但最后一天功能有问题。

使用
(提取(月自:日期)+1)
在12月的某个日期不起作用,因为您将得到第13个月。类似地,
extract(year from:date)
将为您获取当前年份-如果您查找的是12月起下个月的最后一天,并且结果应该是次年的1月,则可能不正确

您不需要单独提取所有字段,您可以在一条语句中提取所有字段:

SELECT TO_CHAR(
         LAST_DAY( ADD_MONTHS( :date, 1 ) ),
         'DD.MM.YYYY'
       )
FROM   DUAL
使用
(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

问题是什么。您当前的输出是什么,您希望得到什么。从dual中选择TO_CHAR(添加_MONTHS(最后一天)(至日期(:DATE,'DD.MM.YY')),1),'DD')。有了这个,我可以得到最后一天,但当我试图把它放在first select in last_day函数中时,我得到了一个错误。我需要得到下个月的最后一天:date输入。@JSapkota这是我得到的。extract Source的extract字段无效是的,正在工作,但我需要只获取一天,而不是整个日期。我需要获得输出od dd.mm.yyyy。当我尝试在我的最后一天函数中插入代码时,它不起作用
从dual中选择extract(从最后一天开始的一天(add_months(sydate,1))?问题出在哪里。您当前的输出是什么,您希望得到什么。从dual中选择TO_CHAR(添加_MONTHS(最后一天)(至日期(:DATE,'DD.MM.YY')),1),'DD')。有了这个,我可以得到最后一天,但当我试图把它放在first select in last_day函数中时,我得到了一个错误。我需要得到下个月的最后一天:date输入。@JSapkota这是我得到的。extract Source的extract字段无效是的,正在工作,但我需要只获取一天,而不是整个日期。我需要获得输出od dd.mm.yyyy。当我尝试在我的最后一天函数中插入代码时,它不起作用
从dual中选择extract(从最后一天开始的一天(add_months(sydate,1))