Menu

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

Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
- - Dernière réponse : pcsystemd
Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
- 20 oct. 2017 à 11:52
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.


Afficher la suite 

3 réponses

Messages postés
3434
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
17 juillet 2019
909
0
Merci
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/static/functions-string.html)
substring(dat_born from 0 for 5)


Xavier
pcsystemd
Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
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
Reivax962
Messages postés
3434
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
17 juillet 2019
909 -
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
3434
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
17 juillet 2019
909
0
Merci
(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
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
16
0
Merci
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)