Mysql
 sql >> база данни >  >> RDS >> Mysql

Не получавате желания резултат след изпълнение на QoQ

Заявките в паметта (QoQ) могат да бъдат трудни, когато става въпрос за типове данни. Те са много по-малко наясно с имплицитните преобразувания на типове данни, отколкото една база данни. С помощта на date_format на MySQL функция, вие всъщност преобразувате стойностите за дата и час в низове . Така че, когато стартирате QoQ, CF може всъщност да изпълнява низ сравнение, което би довело до много различни резултати от дата сравнение. Може да обясни защо получавате грешни резултати.

Опитайте да промените вашата база данни заявка за връщане на стойност за дата и час вместо низ:

SELECT 
   COUNT(Timedetail) as Occurances
   , STR_TO_DATE( DATE_FORMAT(Timedetail,'%m-%d-%Y'), '%m-%d-%Y') AS Timedetail
FROM   ....
WHERE  ...

Актуализация:

Друга възможност е да CAST стойността е DATE във вашето QoQ. Това ще принуди QoQ да извърши сравнение по дати, вместо сравнение на низове:

WHERE  CAST(Timedetail AS DATE) >= <cfqueryparam value="#form.startdate#" 
                                          cfsqltype="cf_sql_date"> 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. структура на таблицата на mysql с множество променливи

  2. Съединяването на две таблици не работи

  3. Codeigniter - множество връзки към база данни

  4. Превключване между множество бази данни в Rails без прекъсване на транзакции

  5. MySQL група от SUM