आप दो STRINGS . की तुलना कर रहे हैं . आपको DATE . की तुलना करने की आवश्यकता है एस। जैसा कि मैंने पहले ही यहां दूसरे उत्तर में कहा है, आपको तारीख छोड़ने की जरूरत है क्योंकि यह DATE की गणना के लिए है। TO_CHAR प्रदर्शन के लिए है, और TO_DATE स्ट्रिंग अक्षर को DATE में बदलना है।
SELECT TO_CHAR(REPORTDATE, 'DD.MM.YYYY'),
COUNT(*)
FROM TABLE
WHERE REPORTDATE > TO_DATE('09.11.2013', 'DD.MM.YYYY')
GROUP BY TO_CHAR(REPORTDATE, 'DD.MM.YYYY')
साथ ही, REPORTDATE एक DATE कॉलम है, इसलिए इसमें डेटाटाइम एलिमेंट होगा। इसलिए, यदि आप तुलना करते समय समय तत्व को बाहर करना चाहते हैं, तो आपको TRUNC . का उपयोग करने की आवश्यकता है
WHERE TRUNC(REPORTDATE) > TO_DATE('09.11.2013', 'DD.MM.YYYY')
हालांकि, TRUNC applying लागू करना दिनांक कॉलम . पर किसी भी नियमित अनुक्रमणिका . को दबा देगा उस कॉलम पर। प्रदर्शन की दृष्टि से, दिनांक सीमा शर्त का बेहतर उपयोग करें ।
उदाहरण के लिए,
WHERE REPORTDATE
BETWEEN
TO_DATE('09.11.2013', 'DD.MM.YYYY')
AND
TO_DATE('09.11.2013', 'DD.MM.YYYY') +1