यह बहुत पुराना है, लेकिन मेरे पास तारीखों के साथ बहुत सारे अनुभव हैं, आप इस पर विचार करना चाह सकते हैं: लोग विभिन्न क्षेत्रीय सेटिंग्स का उपयोग करते हैं, जैसे, कुछ लोग (और कुछ डेटाबेस / कंप्यूटर, क्षेत्रीय सेटिंग्स के आधार पर) इसे पढ़ सकते हैं दिनांक ११/१२/२०१६ को ११ दिसंबर २०१६ या १२ नवंबर २०१६ को। इससे भी अधिक, १६/११/१२ को MySQL डेटाबेस को आपूर्ति की गई आंतरिक रूप से १२ नवंबर २०१६ में परिवर्तित हो जाएगी, जबकि यूके के क्षेत्रीय सेटिंग कंप्यूटर पर चलने वाला एक्सेस डेटाबेस व्याख्या करेगा। इसे 16 नवंबर 2012 तक संग्रहीत करें।
इसलिए, जब भी मैं तारीखों और डेटाबेस के साथ बातचीत करने जा रहा हूं, मैंने इसे स्पष्ट करने के लिए अपनी नीति बनाई। इसलिए मैं हमेशा अपने प्रश्नों और प्रोग्रामिंग कोड की आपूर्ति इस प्रकार करता हूं:
SELECT FirstName FROM Students WHERE DoB >= '11 Dec 2016';
ध्यान दें कि एक्सेस इस प्रकार # स्वीकार करेगा:
SELECT FirstName FROM Students WHERE DoB >= #11 Dec 2016#;
लेकिन MS SQL सर्वर नहीं होगा, इसलिए मैं हमेशा उपरोक्त के रूप में "" का उपयोग करता हूं, जिसे दोनों डेटाबेस स्वीकार करते हैं।
और कोड में एक चर से उस तारीख को प्राप्त करते समय, मैं हमेशा परिणाम को स्ट्रिंग में परिवर्तित करता हूं:
"SELECT FirstName FROM Students WHERE DoB >= " & myDate.ToString("d MMM yyyy")
मैं यह इसलिए लिख रहा हूं क्योंकि मुझे पता है कि कभी-कभी कुछ प्रोग्रामर पर्याप्त रूप से निहित रूपांतरण का पता लगाने के लिए उत्सुक नहीं होते हैं। दिनांक <13 के लिए कोई त्रुटि नहीं होगी, बस अलग परिणाम!
पूछे गए प्रश्न के अनुसार, अंतिम तिथि में एक दिन जोड़ें और तुलना इस प्रकार करें:
dated >= '11 Nov 2016' AND dated < '15 Nov 2016'