Merci Docgranville,
Ton aide est fort précieuse, tes explications sont toujours claires et
instructives.
J'utilise une table contenant la date de naissance. Ce que je veux,
c'est afficher MMJJ, triée, dans une colonne, afin de retrouver,
aisément, des dates anniversaires du jour et celles des jours
environnants. Voici un exemple contenant des colonnes qui m'intéressent.
Clé
MMJJ
Nom
Prénom
Tél. fixe
Tél. Portable
J'aimerais saisir la date naturellement (JJ-MM-AAAA) et extraire pour
l'afficher, dans une requête MMJJ. Cette solution a ma préférence.
Si cela n'est pas possible j'ai le choix entre deux autres solutions:
- Scinder la date en trois champs: JJ, MM et AAAA. Cela donnerait à
l'utilisateur l'impression de saisir une date habituelle JJMMAAAA.
- Saisir la date inversée (AAAAMMJJ) et la scinder en deux champs : AAAA
et MMJJ.
Cordialement
Papy
//*******************************************************************************
Docgranville a écrit :
Jean Sympa a écrit :
Bonjour François,
Je cherche de la documentation SQL sur les jours, mois et années.
J'ai trouvé
*CURRENT_DATE()* MySQL|PostgreSQL Retourne la date courante au format
AAAA-MM-JJ (ou AAAAMMJJ si le résultat est converti en entier)
Retour
CURRENT_DATE
2002-09-01
CURRENT_DATE()+0
20020901
qui me conviendrait mais est-ce compatible avec Base ?
Je voudrais extraire d'une date MMJJ. Mon problème est de savoir quel
format Date utiliser,
JJMMAAAA ou AAAAMMJJ
Cordialement
papy
Bonjour Jean,
A moins que je ne me trompe, une date dans Hsqldb (le moteur de Base)
est TOUJOURS stockée sous la forme AAAA-MM-JJ ; après, dans un
formulaire, tu peux l'afficher sous la forme que tu veux (JJ-MM-AAAA
ou JJ-MM ou MM-JJ que sais-je encore ?).
Donc, ma question, en réponse à ta propre question, est la suivante :
Tu veux extraire, certes, mais pour quoi faire ? Pour travailler avec
ou uniquement pour présenter le résultat ?
Autrement exprimée, ma question serait de savoir si tu souhaites
n'afficher dans un formulaire que les jours et mois d'une date ou si
tu souhaites opérer un tri sur cette extraction ?
Parce que, si l'on y réfléchit un peu, le 17 Janvier, par exemple, que
ce soit celui de l'année 2010 ou celui de l'année 1925, c'est toujours
le 17ème jour de l'année ; donc, si tu veux opérer un tri sur
uniquement le jour et le mois, ce dont tu as besoin en réalité, c'est
le "numéro de série" de ce jour là ; et ça, il y a une formule qui le
donne c'est DAYOFYEAR( ) avec, entre les parenthèses, la date dont on
veut connaître le numéro de série ; par exemple, l'instruction
DAYOFYEAR('200-01-17') te donnera 17, de même que
DAYOFYEAR('1968-01-17').
Le problème (éventuel), c'est au-delà du jour portant le numéro de
série 59, qui est donc le 28/02 de chaque année ; en effet, dans
certains cas, la date portant le numéro de série 60 est le 01/03, mais
dans d'autres cas, cette date est le 29/02 et il en va de même pour
toutes les dates au-delà du 28/02 : elles portent selon le cas un
numéro de série ou celui immédiatement supérieur ; selon tes
instructions de tri tu risques donc de voir le 11/03 d'une année
non-bissextile précéder le 10/03 d'une année bissextile ; après avoir
extrait le numéro de série il va te falloir préciser ton tri, d'abord
en fonction du mois (si tu ne veux pas que le 01/04 d'une année
non-bissextile apparaisse dans ta liste avant le 31/03 d'une année
bissextile) puis sur le jour dans le mois (pour éviter que le le 11/03
d'une année non-bissextile ne puisse apparaître avant le 10/03 d'une
année bissextile) ; le numéro du moi est extrait par l'instruction
MONTH( ) [entre les parenthèses figure la date dont on veut extraire
le mois] et DAY( ) [avec, entre les parenthèses, la date dont on veut
extraire le jour dans le mois].
Si ça n'est qu'une question d'affichage dans un formulaire, ça se
règle simplement avec la boîte de dialogue "Contrôles de formulaires".
Espérant avoir, un peu, aidé...
A+
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]