Partage
  • Partager sur Facebook
  • Partager sur Twitter

Condition dans une requête SQL

Sujet résolu
    17 mars 2011 à 19:55:40

    Bonjour,

    Je cherche à récupérer des informations d'une table en fonction de certain critère. En fait, je voudrais récupérer "Aujourd'hui" quand la date enregistrée correspond au jour actuel, "Hier" quand la date correspond au jour précédent et la date formaté dans les autres cas.

    Voilà la requête (simplifiée) que j'ai fait pour le moment :

    SELECT `un_champ`,
    	CASE DATE_DIFF(NOW(), `champ_date`)
    		WHEN 0 THEN "Aujourd\'hui"
    		WHEN 1 THEN 'Hier'
    		ELSE DATE_FORMAT(`champ_date`, '%e %M %Y')
    	END
    FROM `table`
    


    Bien entendu ça ne fonctionne pas, l'erreur que je reçois m'indique que la table DATE_DIFF n'existe pas, mais bien entendu ce n'est pas censé être une table.

    En gros, comment faire pour sélectionner des champs normalement + un champ contenant soit "Aujourd'hui", soit "Hier", soit une date formatée (en fonction du résultat de DATE_DIFF(NOW(), `champ_date`)).

    Merci d'avance,
    Bob-le-zéro
    • Partager sur Facebook
    • Partager sur Twitter
      17 mars 2011 à 20:15:36

      SELECT `un_champ`,
      	CASE DATEDIFF(NOW(), `champ_date`)
      		WHEN 0 THEN "Aujourd\'hui"
      		WHEN 1 THEN 'Hier'
      		ELSE DATE_FORMAT(`champ_date`, '%e %M %Y')
      	END
      FROM `table`
      
      • Partager sur Facebook
      • Partager sur Twitter
        18 mars 2011 à 0:06:30

        Ah l'erreur toute bête ^^ ! Merci.

        Au passage, juste pour confirmation, l'utilisation d'espaces et/ou de tabulations dans une requête (pour la lisibilité du code) ne pose pas de problème ?
        • Partager sur Facebook
        • Partager sur Twitter
          18 mars 2011 à 15:46:25

          Non, il n'y a pas de problème.
          • Partager sur Facebook
          • Partager sur Twitter

          Condition dans une requête SQL

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown