Le query in memoria (QoQ) possono essere complicate quando si tratta di tipi di dati. Sono molto meno esperti sulle conversioni dei tipi di dati impliciti rispetto a un database. Utilizzando date_format
di MySQL funzione, stai effettivamente convertendo i valori datetime in stringhe . Quindi, quando esegui il tuo QoQ, CF potrebbe effettivamente eseguire una stringa confronto, che darebbe risultati molto diversi rispetto a una data confronto. Potrebbe spiegare perché stai ottenendo i risultati sbagliati.
Prova a cambiare il tuo database query per restituire un valore datetime anziché una stringa:
SELECT
COUNT(Timedetail) as Occurances
, STR_TO_DATE( DATE_FORMAT(Timedetail,'%m-%d-%Y'), '%m-%d-%Y') AS Timedetail
FROM ....
WHERE ...
Aggiornamento:
Un'altra opzione consiste nel CAST del valore come DATE
nel tuo QoQ. Ciò costringerebbe il QoQ a eseguire un confronto di date, invece di un confronto di stringhe:
WHERE CAST(Timedetail AS DATE) >= <cfqueryparam value="#form.startdate#"
cfsqltype="cf_sql_date">