Le calcul d'une date dans Postgres par l'ajout de mois?

J'ai une postgres table qui contient les champs suivants

date_debut,la durée

durée contient un certain nombre de mois, donc, pour calculer la date de fin vous ajoutez le mois de la date de début. Maintenant, je veux faire quelque chose comme ceci avec une postgres requête.

SELECT * 
FROM table 
WHERE start_date > '2010-05-12' 
AND (start_date + duration) < '2010-05-12'

Est-ce possible et comment fait-on du droit de la syntaxe?

La version de mon postgres est PostgreSQL 8.1.22 sur x86_64-redhat-linux-gnu, compilé par GCC gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)

  • 8.1 ? Vous devriez vraiment mettre à niveau ! Si la "durée" est de type INTERVALLE, alors cela va fonctionner, si c'est un nombre entier de mois que vous avez à faire "durée * '1 MOIS'::INTERVALLE".
  • vous devriez faire une réponse.
  • 8.1 est la version par défaut de sur RHEL5. Il est stable et peut être pris en charge par Red Hat jusqu'à ce que 2014. Dans certains cas, cela importe beaucoup plus que d'avoir la dernière version.
InformationsquelleAutor Roland | 2011-05-06