我希望有人能帮助我。
我想在数据库日期上添加一个月,但我想要防止在月末这些日期出现两个跳跃月份。
例如,我可能有:
2009年1月31日
这句话的意思不够明确,需要上下文来理解,请提供更多的句子或背景。
2009年2月28日
而不是 (ér bù shì)
2009年3月2日
下一个日期将是?
2009年3月28日
2009年6月28日
等等。
在Oracle中是否已经有执行此类操作的函数?
编辑
是的。我想将每个月所有带有某些状态的记录复制到下一个月(这样用户就不必每个月再次输入2,000行)。 (shì de. wǒ xiǎng jiāng měi gè yuè suǒ yǒu dài yǒu mǒu xiē zhuàngtài de jìlù fùzhì dào xià yī gè yuè (zhèyàng yònghù jiù bùbì měi gè yuè zài cì shū rù 2,000 háng).)
我可以手动提取所有记录并更新日期(以命令式方式),但我宁愿让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
谢谢你的帮助。