Les requêtes en mémoire (QoQ) peuvent être délicates en ce qui concerne les types de données. Ils sont beaucoup moins au fait des conversions de types de données implicites qu'une base de données. En utilisant le date_format
de MySQL fonction, vous convertissez en fait les valeurs datetime en chaînes . Ainsi, lorsque vous exécutez votre QoQ, CF peut en fait exécuter une chaîne comparaison, qui donnerait des résultats très différents d'une date comparaison. Cela pourrait expliquer pourquoi vous obtenez de mauvais résultats.
Essayez de changer votre base de données query pour renvoyer une valeur datetime au lieu d'une chaîne :
SELECT
COUNT(Timedetail) as Occurances
, STR_TO_DATE( DATE_FORMAT(Timedetail,'%m-%d-%Y'), '%m-%d-%Y') AS Timedetail
FROM ....
WHERE ...
Mise à jour :
Une autre option consiste à CAST la valeur en tant que DATE
dans votre QoQ. Cela obligerait le QoQ à effectuer une comparaison de date, au lieu d'une comparaison de chaîne :
WHERE CAST(Timedetail AS DATE) >= <cfqueryparam value="#form.startdate#"
cfsqltype="cf_sql_date">