J'espère que quelqu'un pourrait m'aider à ce sujet.Ajouter une date sans dépasser un mois
Je veux ajouter un mois à une date de base de données, mais je veux empêcher deux sauts par mois ces jours-là à la fin.
Par exemple, je peux avoir:
31 janvier 2009
Et je veux obtenir
28 février 2009
et non
2 Mars 2009
La prochaine date serait
28 Mars 2009
28 juin 2009
etc.
Y at-il une fonction qui effectuent déjà ce genre d'opération dans l'oracle?
EDIT
Yeap. Je veux copier chaque mois tous les enregistrements avec un certain statut au suivant (ainsi l'utilisateur ne doit pas entrer 2 000 lignes chaque mois)
Je peux aller chercher tous les enregistrements et mettre à jour la date manuellement (bien dans un manière impérative) mais je préfère laisser le SQL faire le travail.
Quelque chose comme:
insert into the_table
select f1,f2,f3, f_date + 30 /* sort of ... :S */ from the_Table where date > ?
Mais le problème vient le dernier jour.
Une idée avant de devoir coder quelque chose comme ça?
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
EDIT: 2
Ajouter mois a fait l'affaire.
maintenant j'ai ceci:
insert into my_table
select f1, add_months(f2, 1) from my_table where status = etc etc
Merci pour l'aide.