दो तिथियों के बीच MySQL डेटाबेस से डेटा का चयन करना
MySQL में, तिथियों को संग्रहीत करते समय एक विशिष्ट तिथि सीमा के भीतर डेटा पुनर्प्राप्त करना एक आम चुनौती पेश करता है दिनांक समय मान के रूप में। किसी तिथि की शुरुआत के रूप में आधी रात की डिफ़ॉल्ट व्याख्या के कारण >= और
उस परिदृश्य पर विचार करें जहां आप रिकॉर्ड का चयन करना चाहते हैं जहां create_at कॉलम 'के बीच आता है। 2011-12-01' और '2011-12-06.' निम्नलिखित क्वेरी को चलाने से आश्चर्यजनक रूप से अपेक्षित रिकॉर्ड बाहर हो जाएगा जो '2011-12-06 10:45:36' पर हुआ था:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_atकारण यह है कि MySQL अंतिम तिथि को मध्यरात्रि ('2011-12-06 00:00:00') के रूप में व्याख्या करता है, प्रभावी रूप से उस दिन बाद में बनाए गए रिकॉर्ड को बाहर कर देता है . इच्छित रिकॉर्ड का चयन करने के लिए, अंतिम तिथि को '2011-12-07' में संशोधित करें:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_atवैकल्पिक रूप से, प्रारंभ तिथि में दिन जोड़ने के लिए DATE_ADD() का उपयोग करें, एक अंतराल बनाएं जिसमें वांछित समाप्ति तिथि शामिल हो:
SELECT `users`.* FROM `users` WHERE created_at >= '2011-12-01' AND created_atबेहतर पठनीयता के लिए, BETWEEN ऑपरेटर का उपयोग किया जा सकता है:
SELECT `users`.* FROM `users` WHERE created_at BETWEEN('2011-12-01', DATE_ADD('2011-12-01', INTERVAL 7 DAY))अंतिम तिथि को समायोजित करके या DATE_ADD() फ़ंक्शन का उपयोग करके, आप सटीक रूप से चयन कर सकते हैं निर्दिष्ट तिथि सीमा से डेटा, यह सुनिश्चित करते हुए कि इच्छित अंतिम तिथि पर बनाए गए सभी रिकॉर्ड कैप्चर किए गए हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3