As consultas na memória (QoQ's) podem ser complicadas quando se trata de tipos de dados. Eles são muito menos experientes em conversões de tipos de dados implícitos do que um banco de dados seria. Usando o
date_format
do MySQL função, você está realmente convertendo os valores de data e hora em strings . Então, quando você executa seu QoQ, o CF pode estar executando uma string comparação, o que produziria resultados muito diferentes de uma data comparação. Poderia explicar por que você está obtendo os resultados errados. Tente alterar seu banco de dados query para retornar um valor de data e hora em vez de uma string:
SELECT
COUNT(Timedetail) as Occurances
, STR_TO_DATE( DATE_FORMAT(Timedetail,'%m-%d-%Y'), '%m-%d-%Y') AS Timedetail
FROM ....
WHERE ...
Atualização:
Outra opção é CAST o valor como um
DATE
em seu QoQ. Isso forçaria o QoQ a realizar uma comparação de datas, em vez de uma comparação de strings:WHERE CAST(Timedetail AS DATE) >= <cfqueryparam value="#form.startdate#"
cfsqltype="cf_sql_date">