Zapytania w pamięci (QoQ) mogą być trudne, jeśli chodzi o typy danych. Są znacznie mniej świadomi niejawnych konwersji typów danych niż baza danych. Używając date_format
MySQL funkcja, w rzeczywistości konwertujesz wartości daty i godziny na ciągi . Więc kiedy uruchamiasz QoQ, CF może faktycznie wykonywać ciąg porównanie, które dałoby zupełnie inne wyniki niż data porównanie. Może wyjaśnić, dlaczego otrzymujesz złe wyniki.
Spróbuj zmienić bazę danych zapytanie zwracające wartość daty i godziny zamiast ciągu:
SELECT
COUNT(Timedetail) as Occurances
, STR_TO_DATE( DATE_FORMAT(Timedetail,'%m-%d-%Y'), '%m-%d-%Y') AS Timedetail
FROM ....
WHERE ...
Aktualizacja:
Inną opcją jest RZUTOWANIE wartości jako DATE
w swoim QoQ. To zmusiłoby QoQ do wykonania porównania dat zamiast porównania ciągów:
WHERE CAST(Timedetail AS DATE) >= <cfqueryparam value="#form.startdate#"
cfsqltype="cf_sql_date">