सं. दिनांक/समय टिकट कोई प्रारूप नहीं है . Oracle आपके द्वारा देखे जाने वाले प्रारूप में दिनांक/टाइमस्टैम्प को संग्रहीत नहीं करता है। आप जो प्रारूप देख रहे हैं वह केवल प्रदर्शन . के लिए है उद्देश्य। तिथि आंतरिक रूप से 7 बाइट्स में संग्रहीत होती है जो कि Oracle का स्वामित्व प्रारूप है ।
बेशक आप कर सकते थे। आप TRUNC . का उपयोग कर सकते हैं जो समय भाग को छोटा कर देता है और केवल दिनांक भाग छोड़ता है और डेटा प्रकार दिनांक के रूप में रहता है।
उदाहरण के लिए,
SQL> SELECT TRUNC(SYSTIMESTAMP) my_tmstmp FROM DUAL;
MY_TMSTMP
----------
2015-05-29
तो, आपको उस प्रारूप में उपयोगकर्ता इनपुट स्ट्रिंग . के रूप में मिलता है . आपको पहले रूपांतरित करना होगा इसे DATE में TO_DATE . का उपयोग करके और फिर इसकी तुलना करें।
उदाहरण के लिए,
WHERE TRUNC(dt_column) < TO_DATE('05/29/2015 12:07:58', 'MM/DD/YYYY HH24:MI:SS')
जैसा कि मैंने पहले ही कहा, यदि आप समय भाग को अनदेखा करना चाहते हैं, तो TRUNC apply लागू करें ।
हालांकि, TRUNC applying लागू करना दिनांक कॉलम . पर किसी भी नियमित अनुक्रमणिका . को दबा देगा उस कॉलम पर। प्रदर्शन की दृष्टि से, दिनांक सीमा शर्त का बेहतर उपयोग करें ।
उदाहरण के लिए,
WHERE dt_column
BETWEEN
TO_DATE('05/29/2015 12:07:58', 'MM/DD/YYYY HH24:MI:SS')
AND
TO_DATE('05/29/2015 12:07:58', 'MM/DD/YYYY HH24:MI:SS') +1