rufo a écrit :
Si les champs son de type varchar (ce qui serait très étonnant) il devra caster pour que le between fonctionne correctement. Sinon, Mysql va probablement convertir en entier la chaîne qui aura donc une valeur bien différente que si elle est castée en timestamp. Par ailleurs, faire une requête avec un OR, vaut mieux éviter, le OR ayant la fâcheuse tendance à pourrir les perfs de n'importe quel SGBD. hppp : soit tu restructures tes 2 champs en un seul si t'en as la possibilité (ça serait la solution la plus propre et la plus performante), soit tu utilises CONCAT_WS(' ', date, heure) pour regrouper à la volée tes 2 champs SELECT * FROM table WHERE CONCAT_WS(' ', date, heure) BETWEEN "2014-09-10 22:00:00" AND "2014-09-11 22:00:00" Edit : y'aura peut-être un petit cast à faire sur le CONCAT_WS vu que de base, il travaille sur des strings.
|