to_date()
00:00:00 बजे एक तारीख लौटाता है, इसलिए आपको उस तारीख से मिनटों को "निकालना" होगा जिसकी आप तुलना कर रहे हैं:
select *
from table
where trunc(es_date) = TO_DATE('27-APR-12','dd-MON-yy')
आप शायद trunc(es_date)
. पर एक इंडेक्स बनाना चाहते हैं अगर ऐसा कुछ है जो आप नियमित रूप से कर रहे हैं।
शाब्दिक '27-APR-12'
यदि डिफ़ॉल्ट दिनांक प्रारूप को किसी अन्य चीज़ में बदल दिया जाए तो बहुत आसानी से विफल हो सकता है। इसलिए सुनिश्चित करें कि आप हमेशा to_date()
use का उपयोग करते हैं एक उचित प्रारूप मुखौटा (या एक एएनएसआई शाब्दिक:date '2012-04-27'
के साथ) )
हालांकि आपने to_date()
. का उपयोग करने में सही किया और निहित डेटा प्रकार रूपांतरण पर निर्भर नहीं है, आपके to_date() के उपयोग में अभी भी 'dd-MON-yy'
प्रारूप के कारण एक सूक्ष्म नुकसान है। .
एक अलग भाषा सेटिंग के साथ यह आसानी से विफल हो सकता है उदा। TO_DATE('27-MAY-12','dd-MON-yy')
जब NLS_LANG जर्मन पर सेट हो। प्रारूप में ऐसी किसी भी चीज़ से बचें जो भिन्न भाषा में भिन्न हो सकती है। चार अंकों वाले वर्ष और केवल संख्याओं का उपयोग करना उदा. 'dd-mm-yyyy'
या 'yyyy-mm-dd'