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 :

Recoder des dates


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 14
    Par défaut Recoder des dates
    Bonjour à tous, j'ai un champ dans lequel les dates sont au mauvais format. Ainsi, je souhaiterais changer ces formats.

    Voila les dates sont comme ceci dans ma table:
    010410 pour le 01/04/2010
    020410 pour le 02/04/2010
    .
    .
    .
    .

    Je souhaite avoir ces dates sous ce format: aaaa/mm/jj. Donc pour les dates du 01/04/2010 je souhaite avoir 20100401
    du 02/04/2010 je souhaite avoir 20100402
    .
    .
    .
    Actuellement je ne peux le faire que manuellement en utilisant cette requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE sms SET date = '20100401' WHERE date = '010410';
    Si j'opte pour cette solution, il me faudra exécuter cette requête 30 fois en changeant les dates.

    Quelqu'un peut- il m'aider en me montrant comment exécuter cette requête de façon automatique en utilisant une boucle.

    Merci.

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Il serait quand même plus cohérent de créer une colonne de type DATE et de l'alimenter par UPDATE à partir de la colonne actuelle avec SUBSTRING.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 14
    Par défaut
    Bonsoir Maljuna,

    Je n'ai pas compris ton intervention. Stp, pourrais - tu me donner un exemplaire de script?

    En ajout d'information, le code que je veux ne concerne que l'administration d'une base de données. Je n'utilise pas du php.

    Merci.

  4. #4
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Billets dans le blog
    1
    Par défaut
    bonsoir,

    juste un petit coup de sql avec la commande SUBSTRING(machaine, 1er caractère où commence l'extraction, longueur de la chaine à extraire)

  5. #5
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 291
    Par défaut
    Pour compléter le message de Kris et suggérer une alternative plus simple que le SUBSTRING :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ALTER TABLE sms ADD datesms DATE AFTER `date`;
    UPDATE sms SET datesms = STR_TO_DATE(`date`, '%d%m%y') ;
    Une fois que tu as vérifié que tout est OK, et éliminé les problèmes dus au changement de type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE sms DROP `date` ;
    "date" est un mot réservé, il est donc préférable de ne pas l'utiliser comme nom de colonne.

  6. #6
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 14
    Par défaut
    Bonjour à tous,

    Merci pour vos interventions.

    Antoun,

    Dans ma base j'ai mis le champ date au format text. dans la base les dates sont comme ceci:aaaammjj.

    En appliquant ce script, le champ date conservera ce même format ou bien changera t - il?

    Merci.

Discussions similaires

  1. Saisie des dates
    Par J-P-B dans le forum XMLRAD
    Réponses: 5
    Dernier message: 04/07/2003, 11h08
  2. Manipuler des dates...
    Par Ti Jen-tsie dans le forum Langage
    Réponses: 4
    Dernier message: 26/06/2003, 11h46
  3. [MCD] [MCD] Gestion des dates
    Par brionne dans le forum Schéma
    Réponses: 3
    Dernier message: 30/05/2003, 13h01
  4. Réponses: 3
    Dernier message: 19/03/2003, 15h19
  5. Fonctions de manipulation des chaines et des dates
    Par Fares BELHAOUAS dans le forum Débuter
    Réponses: 3
    Dernier message: 09/11/2002, 22h43

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