In geheugenquery's (QoQ's) kunnen lastig zijn als het gaat om gegevenstypen. Ze zijn veel minder op de hoogte van impliciete gegevenstypeconversies dan een database zou zijn. Door MySQL's date_format
. te gebruiken functie, converteert u feitelijk de datetime-waarden naar strings . Dus wanneer u uw QoQ uitvoert, voert CF mogelijk een string uit vergelijking, wat heel andere resultaten zou opleveren dan een datum vergelijking. Zou kunnen verklaren waarom je de verkeerde resultaten krijgt.
Probeer uw database te wijzigen query om een datetime-waarde te retourneren in plaats van een tekenreeks:
SELECT
COUNT(Timedetail) as Occurances
, STR_TO_DATE( DATE_FORMAT(Timedetail,'%m-%d-%Y'), '%m-%d-%Y') AS Timedetail
FROM ....
WHERE ...
Bijwerken:
Een andere optie is om de waarde te CAST als een DATE
in je QoQ. Dat zou de QoQ dwingen om een datumvergelijking uit te voeren, in plaats van een stringvergelijking:
WHERE CAST(Timedetail AS DATE) >= <cfqueryparam value="#form.startdate#"
cfsqltype="cf_sql_date">