IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Dates floues


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 17
    Points : 10
    Points
    10
    Par défaut Dates floues
    Bonjour,

    Je souhaiterais créer des tables avec des champs contenant des marques temporelles floues. Chaque marque temporelle peut correspondre à un instant précis ou bien à un intervalle de temps. Qu'il s'agisse d'un instant précis ou des bornes d'un intervalle, chaque point temporel peut correspondre à un jour et une heure précis, ou seulement à un jour précis, ou seulement à un mois ou une année.

    Voici des exemples :

    1. 2006
    2. de 2000 à 2006
    3. de septembre 2005 au 13/03/2006 à 12h16

    Quelle est la meilleure façon de procéder ?

    Merci d'avance.

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Salut,

    Tu pourrais gérer ça avec 2 DATETIME, sachant qu'un instant précis est simplement un intervalle nul entre 2 dates identiques...
    Pensez au bouton

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Merci de ta réponse. Y a-t-il un moyen d'indiquer dans un datetime que la partie time est nulle ?

  4. #4
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    En insérant juste la date ça devrait mettre l'heure à 00:00:00
    Pensez au bouton

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Si je rentre la date 13/03/2006 et l'heure 00:00:00, est-ce que les fonctions de comparaison de dates comprendront qu'il s'agit de toute la journée en question ?

    Autrement dit, comment faire pour avoir un datetime qui désigne telle ou telle journée entière (de 0h à 24h) ?

    Autre question : comment fonctionnent ces fonctions de comparaison ? La date septembre 2005 est-elle inférieure au 17 septembre 2005 ?

  6. #6
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Tu devrais te faire une table spéciale pour représenter ton type "date floue" avec des champs pour te renseigner si tes dates représentent un intervalle, une journée, une heure précise.

    Ensuite tu fais un ensemble de fonctions qui te sortent les tests (sous forme d'une chaîne) à effectuer dans une clause WHERE ou en condition de jointure.

    Ce faisant, tu te renseignes sur les fonctions de date (http://pcaboche.developpez.com/artic...ns_date_heure/)
    et les tests conditionnels en MySQL (IF, CASE ... WHEN, etc) : http://dev.mysql.com/doc/refman/5.0/...functions.html

    Enfin, tu essayes d'optimiser tests conditionnels au maximum, car tu risques de souvent réutiliser de ton nouveau type de données (dans des jointures, par exemple)
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 23/07/2002, 14h33
  2. soustraire deux dates ?
    Par joejoe dans le forum SQL
    Réponses: 2
    Dernier message: 19/07/2002, 15h53
  3. Generation d'evenements a une date precise
    Par pascalzzz dans le forum MFC
    Réponses: 2
    Dernier message: 04/06/2002, 15h21
  4. Réponses: 3
    Dernier message: 06/05/2002, 18h24
  5. Réponses: 3
    Dernier message: 19/04/2002, 00h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo