PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 22/08/2018 13:32:59

lyncejo
Membre

Sélectionner uniquement les lignes de l'année

Bonjour à tous (premier message donc j'espère que je serai clair),

j'aimerai extraire des données présents sur une base de données, mais uniquement d'une certaine année, mais je n'arrive pas à trouver la bonne requête pour que cela fonctionne.

Il existe une colonne pour la date, les données sont saisies de la façon suivante dedans : "2017-03-03 00:00:00".

Est-ce que l'un de vous peut m'apporter son aide? Merci d'avance

Hors ligne

#2 22/08/2018 16:28:34

dverite
Membre

Re : Sélectionner uniquement les lignes de l'année

Si la colonne est de type timestamptz ou timestamp.


Méthode qui tire partie de l'index s'il y en a un sur cette colonne:

SELECT * FROM table
 WHERE colonne_date >= '2017-01-01'::date
   AND colonne_date < '2018-01-01'::date;

Méthode peut-être plus intuitive mais  généralement moins efficace par rapport à un index:

SELECT * FROM table
 WHERE date_part('year', colonne_date) = 2017

Hors ligne

#3 27/08/2018 16:21:55

lyncejo
Membre

Re : Sélectionner uniquement les lignes de l'année

Merci beaucoup,
ça fonctionne niquel avec la première méthode

Hors ligne

Pied de page des forums