Dates incomplètes

Il arrive qu’on doive travailler avec ce que j’appelle des “dates incomplètes” :

  • année connue, mais pas le mois ni le jour
  • année et mois connus, mais pas le jour
    Vous gérez ça comment ?

Ben simplement avec une date normale ; mais c’est toi qui sais que les infos ne sont pas pertinentes.
Soit le jour, ou soit le jour et le mois, ne sont pas utilisés dans tes recherches.
Peu importe le chiffre que tu stockes puisqu’il n’est pas pertinent et que tu ne l’utiliseras pas.

La pertinence est au cas par cas, pour un enregistrement je peux connaître jjmmaa, mmaa, ou aa seulement.

Ça me semble une bonne idée : quand tu connais pas, tu mets 1 ou janvier à la place et tu stockes par ailleurs que le jour et/ou le mois sont inconnus…

J’utilise cela pour des numérotations annuelles, mensuelles, ou perpétuelles.
Il faut que tu stockes cette information de type également pour connaître le traitement que tu opéreras sur ces dates. (j’utilise un simple entier: 1=perpetuelle, 2=annuelle , 3=mensuelle)

Par contre, chez moi c’est connu; si toi ça part dans tous les sens sans que tu puisses avoir l’info AVANT de la stocker, c’est plus compliqué.

OK, on en arrive à la même idée, faut un champ de plus pour exprimer le degré de flou de la date. Le fait que ça parte dans tous les sens : j’ai ça par exemple dans des dates de naissance issues de la DSN (ceci pouvant expliquer qu’Éric ait momentanément délaissé son polochon.)

Bonjour,

Peut-être avoir un second champ qui permet de qualifier le niveau de confiance dans la donnée :

  1. date inconnue
  2. année déclarée
  3. année+mois déclarée
  4. année+mois+jour déclarée
  5. date déclarée et vérifiée

Ca me parait “lourdingue” mais je ne connais pas ton contexte…

PS : https://en.wikipedia.org/wiki/Garbage_in,_garbage_outGarbage in - Garbage out> …

Moi dictateur du monde, je donnerais un uuid à chaque humain à sa naissance :-)
: Bruno LEGAY

Moi dictateur du monde, je donnerais un uuid à chaque humain à sa
naissance

C’est déjà fait, demandes-le à Gogol !

Pour répondre à la question, je pense qu’il faut traiter les dates en timestamp incomplet sous la forme d’un texte ; ex :
2019-06-20T13:09
2019-06
2019-06-20T13

etc.

Pour exprimer une date/heure, on complète en remplaçant les parties incomplètes
2019-06 devient 2019-06-01 ou 2019-06-30, selon la logique que l’on cherche à exprimer.
Cela dépend du contexte :

  • si on parle d’une publication, on peut imaginer qu’elle a lieu en début de mois
  • si on parle d’une saisie de temps, on peut considérer qu’elle a lieu en fin de mois.
: Bruno LEGAY
Moi dictateur du monde, je donnerais un uuid à chaque humain à sa naissance :-)

Je vote contre, ça n’entre ni dans ma mémoire ni dans les cases de la feuille de soin :lol:

: Bernard ESCAICH

Pour répondre à la question, je pense qu’il faut traiter les dates en
timestamp incomplet sous la forme d’un texte ; ex :
2019-06-20T13:09
2019-06
2019-06-20T13
C’est tentant, mais ça pèse autrement plus lourd sur les enregistrements, d’autant plus que je peux difficilement me passer du “vrai” champ date…

Salut Bruno,

: Bruno LEGAY

Peut-être avoir un second champ qui permet de qualifier le niveau de
confiance dans la donnée :

  1. date inconnue
  2. année déclarée
  3. année+mois déclarée
  4. année+mois+jour déclarée
  5. date déclarée et vérifiée

Pour ce cas d’usage, je serais plutôt passé par un champ table-bit:
Bit 0 : année déclarée
Bit 1 : mois déclaré
Bit 2 : jour déclaré

Cela permet de tester facilement toutes les configurations.
Cordialement,
Damien

Salut Damien,

Ouais, pour le cas ou le gars te dis, je suis né un 16, mais pas trop sûr du mois ni de l’année (on est bien avancé du coup) :lol:

A la semaine prochaine au 4D World Tour @ Paris ?

: Bruno LEGAY

Ouais, pour le cas ou le gars te dis, je suis né un 16, mais pas trop
sûr du mois ni de l’année (on est bien avancé du coup) :lol:
Cela doit bien arriver… :roll:

: Bruno LEGAY

A la semaine prochaine au 4D World Tour @ Paris ?
Désolé, je n’y serai pas car j’ai déjà participé à la session de Nantes et mon planning est bien chargé. Mais beaucoup de collègues seront présents à Paris. Ce sera pour une prochaine fois ! :wink:

Cordialement,
Damien

Arnaud,

Si tu as peur du volume, stockes la date selon la partie 2 de ma proposition et choisis une logique business pour déterminer la date probable : en gros, soit en début de période soit en fin.
Mais il n’y aura plus de trace de l’incertitude…