Partage
  • Partager sur Facebook
  • Partager sur Twitter

REQUETE avec IN(value, value2...)

avec des dates ca marche pas !

Sujet résolu
    27 décembre 2018 à 17:14:21

    BOnjour

    Soit la requête suivante où jours_ok est une date du calendrier ... date formatée façon US par défaut  genre :  2018-02-13 pour  13 fev 2018.

    je demande à ce que SI : la veille du jour est dans une liste de jours fériés ... cela affiche IN sinon OUT.

    SELECT
       
        jours_ok,
        CASE 
        	WHEN DATE_ADD(jours_ok, INTERVAL -1 DAY) IN(
            2018-01-01,
            2018-04-01,
            2018-04-02,
            2018-05-01,
            2018-05-08,
            2018-05-10,
            2018-05-21,
            2018-07-14,
            2018-08-15,
            2018-11-01,
            2018-11-11,
            2018-12-25
        ) THEN "IN" ELSE "OUT"
    END
    FROM
        rempla_jours AS J
    JOIN rempla_activite AS A
    ON
        A.jours_id = J.id
    JOIN rempla_astreintes AS AST
    ON
        AST.activites_id = A.id
    JOIN rempla_actesperso AS AP
    ON
        AP.id = AST.libelleastreinte_id
    ORDER BY
        `J`.`jours_ok`
    DESC


    dans les jours_ok il y a par exemple le 11 mai 2018 et bien ... 

    la veille du 11 c'est le 10 mai 2018 ... et pourtant cela figure dans la liste des dates fériées et j'ai pourtant OUT !!

    j'ai l'impression que utiliser des dates  fait que ca marche pas !

    une idée 

    merci. et bonne fin d'années

    • Partager sur Facebook
    • Partager sur Twitter
      28 décembre 2018 à 9:20:00

      De quel format est ton champs jours_ok ?

      Est-ce un champs DATE ?

      - Si c'est une DATETIME, cast en date (tu as la fonction DATE())

      - Si c'est un VARCHAR/CHAR, il faut que utilise la fonction DATE_FORMAT si tu n'a pas le bon format de date.

      De plus avec Mysql:

      2018-01-01 est un entier (cela vaut 2016)

      '2018-01-01' est une date

      • Partager sur Facebook
      • Partager sur Twitter
        29 décembre 2018 à 11:46:40

        merci florent ...
        Jours_ok est de type DATE

        -
        Edité par french-petzouille 29 décembre 2018 à 11:47:06

        • Partager sur Facebook
        • Partager sur Twitter
          30 décembre 2018 à 12:41:53

          super ...

          en mettant des guillemets dans la liste des jours fériés ... cela marche !

          • Partager sur Facebook
          • Partager sur Twitter

          REQUETE avec IN(value, value2...)

          × 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