当前位置: 首页 > 面试题库 >

添加日期不超过一个月

郭元明
2023-03-14
问题内容

我希望有人可以帮助我。

我想在数据库日期中增加一个月,但我想防止在最后一天的两个月中跳过两个月。

例如,我可能有:

2009年1月31日

我想得到

2009年2月28日

并不是

2009年3月2日

下一个日期是

2009年3月28日

2009年6月28日

等等。

oracle中是否已经有执行这种操作的功能?

编辑

是的 我想每个月将具有某些状态的所有记录复制到下一个(因此用户不必每月再次输入2,000行)

我可以获取所有记录并手动更新日期(以一种必要的方式),但是我宁愿让SQL来完成这项工作。

就像是:

insert into the_table 
select f1,f2,f3, f_date + 30 /* sort of ... :S */  from the_Table where date > ?

但是问题出在最后一天。

在我必须编写这样的代码之前有任何想法吗?

for each record in 
   createObject( record )
   object.date + date blabala
   if( date > 29 and if februrary and the moon and the stars etc etc 9

end

update....  et

编辑:2

增加几个月就成功了。

现在我有这个:

insert into my_table
select f1, add_months( f2, 1 ) from my_table where status = etc etc

谢谢您的帮助。


问题答案:

Oracle具有一个内置函数ADD_MONTHS,该函数可以完全做到这一点:

SQL> select add_months(date '2008-01-31',1) from dual;

ADD_MONTHS(
-----------
29-FEB-2008

SQL> select add_months(date '2008-02-29',1) from dual;

ADD_MONTHS(
-----------
31-MAR-2008


 类似资料:
  • 问题内容: 希望创建一个可以在PHP中完成此功能的函数。 我需要在日期中添加多个月,但不能超过该月的最后一天。 例如: 如果我在PHP中使用日期加法,则会发生超限: 我的规范不允许我超支一个月。 什么是最简单的方法来做到这一点? 问题答案: 您可以比较添加1个月之前和之后的月份。如果不一样,您超出了下个月。

  • 问题内容: 我正在尝试获取每月的今天。 而我想做的是将数字增加7天,并获得该月的当前日期。 我也希望它能够到下个月。。让我们说今天是29日。当它增加7天时,我如何才能将其发送到下个月,例如29 + 7等于下个月的5号。 我将如何去做? 我已经设法获得了当前日期。 我之所以使用它,是因为我想每7天在我的主要活动中启动一个asynctask。 问题答案: 从日历JavaDoc

  • 问题内容: 如何在where子句中检查的日期中增加一个月? 例如: 问题答案:

  • 问题内容: SELECT x FROM SomeClass WHERE x.dateAtt BETWEEN CURRENT_DATE AND (CURRENT_DATE + 1 MONTH) 在上面的JPQL语句中,SomeClass具有memebr ,它是a 并具有注释。 我需要一种方法来做一下-在当前状态下这显然是错误的-但找不到带有JPQL的date函数的文档。 谁能指出我指向 记录JPQL

  • 问题内容: 假设我有一个以下格式的日期:2010-12-11(年一日) 使用PHP,我想将日期增加一个月,并且我希望年份可以在必要时自动增加(即,从2012年12月到2013年1月增加)。 问候。 问题答案:

  • 我不确定这是否可能? 我得拿到密码才能读 今天的月份即2月今天的日期即17月底的日期即31日,然后是一年中的其他11个月,在一行中按顺序排列 8月1日-31日|9月|10月|11月|12月|1月|2月|3月|4月|5月|6月|7月 请以最佳方式提供任何建议? 多谢 定时(timing的缩写)