Bonsoir serval92.
Il y a plusieurs réponses à ta question et cela dépend aussi comment tu as déclaré ta date dans ta table mysql.
1) la réponse de MacFly58 est tout à fait correcte, mais cela suppose que date possède la valeur NULL, ce qui n'est pas forcément le cas.
2) si la valeur par défaut qui est renseignée dans la date, est zéro --> '0000-00-00',
alors un 'if' peut récupérer le résultat de ce que tu cherches à faire :
if(date1='0000-00-00',date2,date1) as 'date';
3) une autre solution, un peu plus bavarde, consiste à utiliser un 'union'.
1 2 3
| select date1 from nom_de_ta_table where date1 <> '0000-00-00'
union
select date2 from nom_de_ta_table where date1 = '0000-00-00'; |
4) encore une autre solution consiste à utiliser un case :
1 2
| select case date1 when '0000-00-00' then date2 else date1 end as date
from nom_de_ta_table; |
5) et pour terminer, récupère tes deux dates en mysql, et fais la sélection en PHP.
Il n'est pas anodin en terme de performance de faire ce genre de test en mysql.
Juste une question : pourquoi ta date1 n'est pas renseignée ?
J'espère avoir répondu à ton attente.
@+
Partager