2012-10-22 33 views
5

मेरे पास "क्रिया" नामक एक तालिका है जिसे "हुआ" नामक DATETIME कॉलम के साथ "क्रियाएं" कहा जाता है। मैं निम्नलिखितMySQL रिटर्न आज के रिकॉर्ड DATETIME फ़ील्ड से दिनांक का उपयोग

SELECT * FROM `actions` WHERE `occurred` = DATE(NOW()); 

पर रिकॉर्ड्स वापस करने की कोशिश कर रहा हूं लेकिन मुझे एक खाली परिणाम सेट मिलता है। अगर मैं WHERE क्लॉज आउट लेता हूं, तो मैं तालिका में सभी 2 9 5 पंक्तियां देख सकता हूं और आज से कम से कम 30 पंक्तियां हैं। बाद में मैं अतीत में दिन की तारीख और एक्स दिनों के बीच सभी रिकॉर्ड वापस करने के लिए एक और प्रश्न लिखूंगा लेकिन इससे पहले कि मैं वहां जा सकूं, मुझे यह जानने की जरूरत है कि यह क्वेरी खाली परिणाम सेट क्यों लौट रही है।

अग्रिम धन्यवाद।

उत्तर

4

occurred में कोई भविष्य की तारीख में वहाँ हैं, तो आप बस नीचे इस्तेमाल कर सकते हैं:

SELECT * FROM `actions` WHERE `occurred` > DATE_SUB(CURDATE(), INTERVAL 1 DAY); 
+0

यह महान काम करता है:

यहाँ डेटा के साथ खेलने के लिए एसक्यूएल फिडल है। भविष्य का कोई डेटा नहीं होगा। यह ऐतिहासिक प्रविष्टियों के खिलाफ अब तुलना करने के लिए कड़ाई से होगा। शीघ्र जवाब देने के लिए ध्न्यवाद! – rws907