Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1756 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Where case between […]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Where case between […]

n°2004206
Tyrant
Posté le 23-06-2010 à 17:13:12  profilanswer
 

:hello:

 

J'aurais besoin d'un petit coup de main pour ma requête SQL, il faudrait que les résultats dépendent de la valeur d'un champ (donc CASE), mais suivant cette condition :

 

si date_fin vaut 0, alors je veux les champs pour lesquels DATETIME < date_debut
si date_fin > 0, alors DATETIME BETWEEN date_debut AND date_fin

 

Du coup un truc comme ça n'est pas possible ?

 
Code :
  1. SELECT * FROM `table` WHERE `date_fin` BETWEEN CASE WHEN `date_fin` = '0' THEN (…) WHEN `date_fin` > 0 THEN (…)
 

:jap:


Message édité par Tyrant le 24-06-2010 à 15:32:57
mood
Publicité
Posté le 23-06-2010 à 17:13:12  profilanswer
 

n°2004351
Oliiii
Posté le 24-06-2010 à 09:32:50  profilanswer
 

Tu pourrais le faire avec un Where (date_fin = 0 and DATETIME < date_debut) or (date_fin > 0 and DATETIME between date_Debut and date_fin).

n°2004493
Tyrant
Posté le 24-06-2010 à 15:32:21  profilanswer
 

:sweat:  
 
Je crois que j'ai bloqué sur les CASE, du coup j'étais arrivé à ça (qui fait la même chose) :
 

Code :
  1. SELECT * FROM table WHERE (UNIX_TIMESTAMP() < CASE WHEN date_fin = "0" THEN date_debut END OR (UNIX_TIMESTAMP() > CASE WHEN date_fin > "0" THEN date_debut END AND UNIX_TIMESTAMP() < CASE WHEN date_fin > "0" THEN date_fin END))


 
(avec le timestamp au lieu du datetime aussi).
 
Sur une autre planète donc :|
 
Mais j'avoue que j'ai complètement zappé que c'était faisable avec des WHERE, au final je vois plus trop dans quels cas les CASE sont indispensables mais bon.
 
Merci en tout cas :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Where case between […]

 

Sujets relatifs
case in blabla (KSH) ===> fichier CSVCase avec critères de recherches un peu tordus
Ajouter case à cocher dans fonction javascript en langage WordRequête Where SQL
case when + Selection d'une valeurClause WHERE dans PHP
formulaire/recherche de case vide/messagecomment créer une requête de type SELECT...WHERE avec vba
Problème Shutdown time[MySQL]Regex dans un where
Plus de sujets relatifs à : Where case between […]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR