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]