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

PHP & Base de données Discussion :

Concaténation requête MySQL


Sujet :

PHP & Base de données

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mai 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1
    Par défaut Concaténation requête MySQL
    Bonjour à tous,

    J'ai une table MySQL contenant, entre autres informations, 3 champs séparés : jour, mois, année.

    Ce que je voudrais faire, c'est concaténer ces 3 champs en un seul afin d'obtenir un truc du genre : 20090527

    Il est possible de le faire en tapant le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT CONCAT(année, mois, jour) AS date
    FROM la_table
    Le problème réside dans le cas où le mois et le jour peut ne s'écrire que sur un caractère : ce sera sur un caractère que la valeur sera rentrée. Par exemple, de janvier à décembre : 1 à 9 alors qu'il me faudrait 01 à 09.

    De ce fait, pour certaines entrées MySQL me sort une date du genre : 200957. Et ce format m'empêche d'effectuer le traitement voulu par la suite...

    J'aimerais donc savoir s'il est possible de faire des tests à l'intérieur de la requête afin de sortir une concaténation du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT CONCAT(année, '0', mois, jour) AS date
    FROM la_table
    Si le mois est compris entre janvier et septembre. Et de même pour le jour...


    Merci à tous pour votre aide.

    Cordialement,
    _bizou

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Par défaut
    bonjour,

    en premier lieu une question, pourquoi ne pas stocker ces informations sous la forme d'un champ date ?
    Dans ce cas tu pourrais utiliser la fonction : DATE_FORMAT()

    deuxièmement une réponse :
    tu peux eventuellement effectuer un traitement du genre :

    CONCAT(annee,IF(mois < 10, '0','') ,mois,IF(jour < 10, '0',''),jour)
    mais c'est un traitement qui n'est certainement pas optimisé.

    bon courage

Discussions similaires

  1. Problème concaténation requête avec ORACLE
    Par kobe dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/08/2005, 11h57
  2. Requête MYSQL LIKE particulière
    Par TheDarkLewis dans le forum Requêtes
    Réponses: 9
    Dernier message: 05/12/2004, 15h50
  3. Arrêt de l'exécution d'une requête MySQL dans DELPHI.
    Par joelmarc dans le forum Bases de données
    Réponses: 9
    Dernier message: 11/10/2004, 16h11
  4. surcharge de requête MySQL
    Par simoryl dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/06/2004, 10h43
  5. requête mysql sous php
    Par remi59 dans le forum Débuter
    Réponses: 9
    Dernier message: 03/07/2003, 10h39

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