Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

QoQ निष्पादित करने के बाद वांछित आउटपुट नहीं मिल रहा है

जब डेटा प्रकारों की बात आती है तो स्मृति प्रश्नों (क्यूओक्यू) में मुश्किल हो सकती है। वे एक डेटाबेस की तुलना में निहित डेटा प्रकार रूपांतरणों के बारे में बहुत कम जानकार हैं। MySQL के date_format . का उपयोग करके फ़ंक्शन, आप वास्तव में डेटाटाइम मानों को स्ट्रिंग्स . में परिवर्तित कर रहे हैं . इसलिए जब आप अपना QoQ चलाते हैं, तो CF वास्तव में स्ट्रिंग . का प्रदर्शन कर सकता है तुलना, जो किसी तारीख . से बहुत अलग परिणाम देगा तुलना। समझा सकता है कि आपको गलत परिणाम क्यों मिल रहे हैं।

अपना डेटाबेस बदलने का प्रयास करें स्ट्रिंग के बजाय डेटाटाइम मान वापस करने के लिए क्वेरी:

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

अपडेट करें:

एक अन्य विकल्प यह है कि मान को DATE . के रूप में कास्ट करें आपके क्यूओक्यू में। यह 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 में ENUM वैरिएबल टाइप बनाना

  2. mysql एक ही तालिका में शामिल हों अलग परिणाम सेट

  3. लार्वा में TEMPORARY टेबल कैसे बनाएं?

  4. mysqldump - जहां क्लॉज काम नहीं कर रहा है

  5. यूटीसी/जीएमटी टाइमज़ोन में एक java.util.Date को एक MySQL टाइमस्टैम्प फ़ील्ड में कैसे स्टोर करें?