ठीक है, मुझे लगता है कि मैं तुम्हें मिल गया हूँ। आप निम्न कार्य करना चाहते हैं?
select <columns>
from my_table
where state_date <= <some date>
and state_time <= <some time>
मिलीसेकंड के बारे में परवाह करना काफी असामान्य है लेकिन यदि आप ऐसा करते हैं तो आपको systimestamp
का उपयोग करना चाहिए ।
इस तथ्य को देखते हुए कि आपने दिनांक और समय को विभाजित किया है, ये वर्ण हैं, इसलिए, मुझे मास्क प्रारूपित करें
. यदि वे गलत हैं तो लिंक आपको मार्गदर्शन करेगा कि क्या करना है। वैसे, किसी तारीख को इस तरह विभाजित करना बुद्धिमानी नहीं है। आप timestamp
. का उपयोग करके एक कॉलम बना सकते हैं आपकी तालिका में डेटा-प्रकार, जो आपकी समस्या को बेहद सरल बना देगा।
इसलिए, मुझे नहीं पता कि आपने 'Day'
क्यों चुना है आपकी क्वेरी के लिए प्रारूप लेकिन उसके साथ जा रहा है <some date>
हो जाता है to_char(sysdate, 'DAY')
।
नीचे आपकी टिप्पणी से <some date>
होगा to_char(sysdate, 'DD-MON-YY')
<some time>
to_char(systimestamp,'HH24:MI:SS:FF3')
होगा , जो आपको मिलीसेकंड का टाइमस्टैम्प देगा, हालांकि डेटाटाइप माइक्रो-सेकंड में जा सकता है।
यह मुझे थोड़ा अजीब लगता है लेकिन फिर आपकी क्वेरी बन जाएगी:
select <columns>
from my_table
where state_date <= to_char(sysdate, 'DD-MON-YY')
and state_time <= to_char(systimestamp,'HH24:MI:SS:FF3')
यह अधिक सामान्य होगा, यदि किसी तिथि को स्ट्रिंग के रूप में संग्रहीत किया जाता है, तो इसे yyyymmdd
प्रारूप में संग्रहीत करना अधिक सामान्य होगा। तो कम से कम आप गारंटी दे सकते हैं कि यह क्रम में है। अगर आपने ऐसा कुछ किया है तो बस फॉर्मेट मास्क बदल दें। यदि आपने ऐसा नहीं किया है तो ये प्रश्न अपेक्षानुसार काम नहीं करने वाले हैं।
व्यक्तिगत रूप से, यदि आपके पास है इस तरह से डेटा स्टोर करने के लिए और state_date
. मानकर के रूप में संग्रहीत है, कहते हैं, dd-mon-yy
, यानी साल, महीने और दिन, और state_time
. सहित ऊपर बताए अनुसार संग्रहीत किया जाता है, तो मैं ऐसा कुछ करूंगा:
select <columns>
from my_table
where to_timestamp(state_date || state_time, 'DD-MON-YYHH24:MI:SS:FF3')
<= systimestamp
यह बहुत अधिक स्पष्ट करता है कि क्या हो रहा है और क्या <
. पर कोई अस्पष्टता नहीं है इसका मतलब है कि इस स्थिति में एक तारीख हमेशा भविष्य की तारीख से कम होगी, जो जरूरी नहीं कि स्ट्रिंग्स के लिए सही हो।
मुझे आशा है कि यह समझ में आता है।