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

SQLite Discussion :

Format avec les dates


Sujet :

SQLite

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Points : 22
    Points
    22
    Par défaut Format avec les dates
    Bonjour,

    J'ai un petit souci de conception et n'étant pas un spécialiste des bases de données, je me tourne vers le forum...

    J'ai une table de "personnes" avec des dates de naissance.
    J'ai une autre table "parametres" avec entre 5 et 15 lignes et une colonne date de naissance maxi et une colonne date de naissance mini.
    Ensuite, je dois effectuer un UPDATE table SET colonne10 = 1 WHERE colonnedatedenaissance BETWEEN datedenaissancemini AND datedenaissancemaxi

    Le problème , c'est que pour des raisons pratiques, je préfèrerais stocker les dates de naissance dans un format JJ/MM/AAAA.

    Au niveau efficacité :
    - faut-il que j'utilise plutôt un champ NUMERIC pour stocker mes dates avec YYYY-MM-DD. Ma requête SQL est ainsi plus facile mais j'ai un maximum de conversions dans le reste de mon programme (C++/Qt) ?
    - l'autre cas, j'utilise un champ TEXT avec JJ/MM/AAAA mais du coup, comment convertir ça en AAAA-MM-DD avec SQL pour ma requête ?

    Avez-vous des idées ? Des suggestions ?

  2. #2
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 420
    Points : 1 102
    Points
    1 102
    Par défaut
    Bonjour,

    Personnellement, je stockerai la date au format reconnu par SQLITE Ceci permet de gérer correctement tous les besoins SQL (between, comparaisons...)

    Pour la conversion, il est possible d'utiliser la fonction strftime dans ton SQL afin d'obtenir les dates au format attendu par ton application

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select strftime('%d/%m/%Y', macolonne)  from matable
    qui te donnera la date au format attendu.

    Cordialement

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    Je vais partir dans cette direction alors, effectivement, ça sera bien plus simple pour les requêtes !
    Est-ce qu'on peut convertir une colonne TEXT (qui contiendrait 11/03/2016 par exemple) en 2016-11-03 au niveau SQL ? Je n'ai pas l'impression que ça soit possible mais sait-on jamais ?

    Merci en tout cas !

  4. #4
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 420
    Points : 1 102
    Points
    1 102
    Par défaut
    A part de jouer avec les caractères je ne vois pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select substr(macolonne, 7, 4)||'-'||substr(macolonne,4,2)||'-'||substr(macolonne,1,2) from matable;

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    C'est une solution qui va me servir ! Peux-être pas à ce moment de mon programme mais ailleurs certainement. Merci !

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

Discussions similaires

  1. Help!! Probleme avec les dates sur SQL SERVER
    Par Nadaa dans le forum MS SQL Server
    Réponses: 16
    Dernier message: 03/08/2006, 16h55
  2. problème avec les dates nulles
    Par shingo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 30/09/2005, 12h32
  3. [SQL] problème avec les date et les group By
    Par Stef784ever dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/11/2004, 09h18
  4. Pb avec les dates < année 2000
    Par elitost dans le forum Oracle
    Réponses: 2
    Dernier message: 15/09/2004, 12h37
  5. Interbase - dbExpress -> problème avec les dates
    Par marghett dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/07/2004, 03h55

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