Oracle में एक DATE समय का एक बिंदु है। इसमें हमेशा दूसरे की सटीकता के साथ एक समय घटक होता है। todate('08-Jun-2010', 'dd-Mon-yyyy')
Oracle में todate('08-Jun-2010 00:00:00', 'dd-Mon-yyyy hh24:mi:ss')
के समान है . इसलिए यदि आप उस तिथि तक की पंक्तियों का चयन करते हैं तो आपको उस दिन कोई पंक्ति नहीं मिलेगी जिसमें समय घटक 00:00
के बराबर नहीं होगा ।
यदि आप 08-JUN-2010
. तक की सभी पंक्तियों का चयन करना चाहते हैं , मैं इसका उपयोग करने का सुझाव दूंगा:
< to_date('09-06-2010', 'dd-MM-yyyy')
या
<= to_date('08-06-2010 23:59:59', 'dd-MM-yyyy hh24:mi:ss')
नोट - मैंने आपके दिनांक प्रारूप में सुधार किया है:आपको MON
. का उपयोग करने की आवश्यकता है यदि आप संक्षिप्त महीने के नाम का उपयोग करना चाहते हैं। मैं MM
. का उपयोग करने का सुझाव दूंगा इसके बजाय, ताकि जब कोई अपनी क्लाइंट सेटिंग (NLS_DATE_LANGUAGE
) बदलता है तो आपको त्रुटि नहीं मिलेगी ) YYYY
. के उपयोग को भी प्राथमिकता दें YY
. के बजाय ।