Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

लिटरल एक स्ट्रिंग कॉलम पर Oracle SQL to_date के लिए प्रारूप स्ट्रिंग से मेल नहीं खाता

ऑर्डर जो Oracle उस स्थिति का मूल्यांकन करता है जहां क्लॉज निश्चित नहीं है। कहने का तात्पर्य यह है कि यह अन्य मानदंडों से पहले TO_DATE वाली स्थिति का मूल्यांकन करना चुन सकता है, जिस स्थिति में क्वेरी विफल हो जाएगी। इसे रोकने के लिए, अपनी क्वेरी में ordered_predicates संकेत जोड़ें, लेकिन ध्यान रखें कि प्रदर्शन को बेहतर बनाने के लिए इसके लिए अतिरिक्त मैन्युअल ट्यूनिंग की आवश्यकता हो सकती है।

SELECT /*+ ordered_predicates */
               To_Date(c.Value, 'MM/DD/YYYY HH24:MI:SS') somedate 
          FROM properties$aud a, 
               template_properties$aud b, 
               consumable_properties$aud c 
         WHERE Lower(a.name) = 'somedate' 
           AND a.id = b.property_id 
           AND b.id = c.template_property_id 
           AND To_Date(c.Value, 'MM/DD/YYYY HH24:MI:SS') IS NOT NULL

स्पष्ट रूप से ordered_predicates 10g से शुरू होने से हटा दिया गया है। उस स्थिति में, मुझे लगता है कि आपका एकमात्र विकल्प उप-क्वेरी का उपयोग इस तरह से करना है कि ऑप्टिमाइज़र को पहले इसका मूल्यांकन करने के लिए मजबूर किया जाता है (यानी यह प्रश्नों को जोड़ नहीं सकता है)। ऐसा करने का सबसे आसान तरीका है rownum . लगाना जहां आंतरिक क्वेरी के बयान में।

SELECT To_Date(c.Value, 'MM/DD/YYYY HH24:MI:SS') somedate 
  FROM (SELECT value 
          FROM properties$aud a, 
               template_properties$aud b, 
               consumable_properties$aud c 
         WHERE Lower(a.name) = 'somedate' 
           AND a.id = b.property_id 
           AND b.id = c.template_property_id
           AND rownum > 0) 
 WHERE To_Date(c.Value, 'MM/DD/YYYY HH24:MI:SS') IS NOT NULL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.sql.SQLException:Io अपवाद:oracle के साथ JDBC कनेक्शन के दौरान रीड कॉल से माइनस वन मिला

  2. Oracle में DATEADD () के लिए समतुल्य कार्य

  3. NHibernate के साथ एक ही ASP.NET ऐप में Oracle और SQL सर्वर दोनों का समर्थन करने के लिए सिफारिशें

  4. pls_integer और binary_integer में क्या अंतर है?

  5. क्या कोई SQL कथन है जो 2 लंबे स्तंभों को स्तंभों के कई जोड़े में तोड़ देगा?