मेरे पास एक MySQL तालिका है जिसका उपयोग उस तालिका में लॉग फ़ाइल के लिए किया जाता है, वहां 'log_date' नामक फ़ील्ड होता है और यह दिनांक को निम्न प्रारूप में संग्रहीत करता है (% Y-% m-% d % एच:% i।% S)। डीबी पर दिनांक इस 2013-20-05 00: 00.00 की तरह दिखते हैं। आइए आज की तारीख 2013-20-05 है और मेरे पास 2013-01-01 से आज तक लॉग फाइलें हैं। अगर मैं इस तरह एक प्रश्न चलाएँ:डेटाटाइम MYSQL स्वरूपण द्वारा फ़िल्टर
SELECT * FROM log_table
WHERE STR_TO_DATE(log_date, '%Y-%m-%d %H:%i.%s') < '2013-05-05 00:00.00'
यह पंक्तियों से अधिक 2013-05-05 00 सहित डीबी में हर पंक्ति लौट रहा है: 00.00
और अगर मैं < रिवर्स (कम) एक> (तब से अधिक) एक क्वेरी के साथ जो इस तरह दिखता है:
SELECT * FROM log_table
WHERE STR_TO_DATE(log_date, '%Y-%m-%d %H:%i.%s') > '2013-05-05 00:00.00'
फिर यह शून्य पंक्तियां देता है। मुझे लगता है कि टाइम स्टैंप वह समस्या है जिसके कारण मैंने डेट प्रारूप के साथ काम किया है, लेकिन डेटटाइम प्रारूप नहीं। ये क्यों हो रहा है?
'log_date' के लिए डेटा प्रकार क्या है? – Kermit