[SQL] Changer le format DATE

Mr.White Messages postés 252 Statut Membre -  
 benzzz -
Salut tout le monde !!!

J'aimerai savoir s'il est possible de changer le format date sur une base de données MySQL. Le format par défaut est AAAA/MM/JJ et je souhaiterai avoir JJ/MM/AAAA.

Si cette opération est réalisable j'aimerai savoir comment procéder, sinon je sais qu'il y à toujours des moyen de contourner. Si vous les connaissé ... .

4 réponses

  1. hector
     
    une manière de contourner en php:

    si $date contient la date sous forme AAAA/MM/JJ

    $data = explode('/',$date);
    $annee = $data[0];
    $mois = $data[1];
    $jour = $data[2];

    hector
    http://www.hec.unil.ch/infocentre
    2
    1. Mr.White Messages postés 252 Statut Membre 53
       
      Mais avant j'ai un petit problème, il n'entre pas dans ma boucle while (comme s'il ne trouvé pas de champ avec une date entre le moi dernier et aujourd'hui) je te montre vite fait le code :


      $date_ref = date("Y-m-d");

      // La requête
      $requette_news = "select titre, corps, date, persistant from news where date > SUBDATE(".$date_ref.", INTERVAL 1 MONTH) ORDER BY date";
      //echo $requette_news;
      $resultat_requette_news = mysql_query($requette_news) or die('problème avec la requête.<BR>erreur SQL :'.mysql_error());

      while($resultat_news = mysql_fetch_array($resultat_requette_news) )


      Dans la BDD la date est 2004/05/05
      0
  2. Mr.White Messages postés 252 Statut Membre 53
     
    Ca y est j'ai trouvé la solution.

    Le problème venait de la date du jour qui était au format YYYY-MM-JJ Mysql n'aime pas les - i faut donc écrire ceci :

    $date_ref = date("Ymd");

    Et la il entre dans la boucle.

    Je vai donc mettre à transformer la date pour l'affichage.
    1
    1. Castor
       
      you're an idiot!
      0
  3. intissar
     
    est ce qu'il existe une fonction SQL qui pourais faire la meme chose dans un ordre select
    1
  4. benzzz
     
    Oui tout à fait :

    exemple :

    SELECT
    fournisseur,
    CONVERT(VARCHAR, date_debut_contrat, 103) as date_debut_contrat,
    FROM Contrats

    avec
    VARCHAR = type à la sortie
    date_debut_contrat = champ de type date dans la base
    103 = format de sortie jj/mm/aaaa
    as date_debut_contrat = on donne un nom au champ en sortie
    (remarquez ici qu'il peut être similaire à celui d'origine)

    J'ai trouvé tout ça sur ce site (à la fin de la page) :

    http://baptiste-wicht.developpez.com/tutoriels/microsoft/sql-server/datetime/

    Au niveau des formats, je retiendrais ces 2 champs qui me semblent les plus utilisés pour un informaticien :

    103 format jj/mm/aaaa
    112 format aaaammjj

    sachant que celui encodé d'origine dans la BDD est aaaa-mm-jj
    1