Extraire anniversaires du jour [Résolu/Fermé]

Signaler
Messages postés
571
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
5 août 2020
-
Messages postés
571
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
5 août 2020
-
Bonjour,

J'ai besoin d'extraire toutes les personnes dont c'est l'anniversaire.

Pour cela j'ai un champ dat_born dont les valeurs sont de ce type '12/05/1968'

Ce que je n'arrive pas a comprendre est comment extraire toutes les dates anniversaire du jour sachant que je ne peux utiliser que le jour et le mois!

Merci.


3 réponses

Messages postés
3605
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
16 juillet 2020
961
Bonjour,

Tes dates sont stockées sous forme de chaînes de caractères ? Dans ce cas tu peux utiliser la fonction substring (doc : https://www.postgresql.org/docs/9.1/functions-string.html
substring(dat_born from 0 for 5)


Xavier
Messages postés
571
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
5 août 2020
16
Elles sont stockées sous forme de dates ( champ type date).

select dat_born from table where substring(dat_born from 0 for 5);
ERREUR: la fonction pg_catalog.substring(date, integer, integer) n'existe pas
LIGNE 1 : select dat_born from table where substring(dat_b...



Merci
Messages postés
3605
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
16 juillet 2020
961
Bonjour,

Dans ce cas, tu peux utiliser Extract : https://docs.postgresql.fr/8.2/functions-datetime.html#functions-datetime-extract et CURRENT_DATE pour comparer les jours et les mois.

Xavier
Messages postés
3605
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
16 juillet 2020
961
(Pour préciser)
SELECT * FROM table WHERE
    EXTRACT(DAY FROM Current_date) = EXTRACT(DAY FROM Dat_born)
    AND EXTRACT(MONTH FROM Current_date) = EXTRACT(MONTH FROM Dat_born)
Messages postés
571
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
5 août 2020
16
Merci a tous. J'ai finalement trouvé en faisant comme cela.

and date_part('day', p.dat_born) = date_part('day', current_date) and date_part('month', p.dat_born)= date_part('month', current_date)