अधिक विस्तृत उत्तर प्रदान करने और इस https://stackoverflow.com/a/42429550/1267661 उत्तर के मुद्दे को संबोधित करने के लिए।
ओरेकल में "दिनांक" प्रकार का एक स्तंभ एक संख्या और न ही एक स्ट्रिंग है, यह वर्ष, महीना, दिन, घंटा, मिनट और सेकंड के साथ "डेटाटाइम" मान है। डिफ़ॉल्ट समय हमेशा आधी रात "00:00:00"
क्वेरी है:
Select * From bdPedidos Where Data Like '%" + data + "%'"
सभी परिस्थितियों में काम नहीं करेगा क्योंकि एक तारीख स्तंभ एक स्ट्रिंग, नहीं है बलों "की तरह" का उपयोग ओरेकल दिनांक मान से स्ट्रिंग मान में रूपांतरण करने के लिए। स्ट्रिंग मान साल-दर-दिन या महीने-दिन-वर्ष या दिन-महीने-वर्ष-समय हो सकता है, यह सब निर्भर करता है कि एक विशेष ओरेकल उदाहरण ने स्ट्रिंग के रूप में दिनांक दिखाने के लिए पैरामीटर NLS_DATE_FORMAT को कैसे सेट किया है।
सही तरीके से एक दिन में हर संभव बार कवर करने के लिए है:
Select *
From bdPedidos
Where Data between to_date('" + data + " 00:00:00','yyyy-mm-dd hh24:mi:ss')
and to_date('" + data + " 23:59:59','yyyy-mm-dd hh24:mi:ss')
आप जनवरी में सभी पंक्तियों चाहते हैं 2015 उपयोग 'जहां TO_CHAR (STARTDATE, 'सोम-YYYY') = 'Jan- 2015 '; ' – Mihai
देखें [DATE की ओरेकल एसक्यूएल तुलना गलत परिणाम देता है] (http://stackoverflow.com/questions/29005398/oracle-sql-comparison-of-dates-returns-wrong-result/29005418# 2 9 005418) –