समस्या:
आप Oracle में वर्तमान तिथि (बिना समय के) प्राप्त करना चाहते हैं।
समाधान 1 (यदि आप समय के रूप में शून्य को बुरा नहीं मानते हैं):
SELECT TRUNC(CURRENT_DATE) AS current_date FROM dual;
उदाहरण के लिए, यदि आप इस क्वेरी को 16 जून, 2021 को चलाते हैं, तो परिणाम तालिका इस तरह दिखाई देगी:
current_date |
---|
2021-06-16T00:00:00Z |
चर्चा:
Oracle में कोई डेटा प्रकार नहीं है जो बिना समय के केवल दिनांक संग्रहीत करता है। लेकिन अगर आपको समय के स्थान पर शून्य से कोई फर्क नहीं पड़ता है, तो आप बस एक तारीख को DATE
में स्टोर कर सकते हैं डेटाटाइप (जो Oracle में दिनांक और समय दोनों को संग्रहीत करता है)। वर्तमान दिनांक और समय को DATE
के रूप में प्राप्त करने के लिए मान, आप बस CURRENT_DATE
. का उपयोग कर सकते हैं . समय से छुटकारा पाने के लिए (और इसके बजाय शून्य है), आपको तारीख को छोटा करना होगा:
SELECT TRUNC(CURRENT_DATE) AS current_date FROM dual;
समाधान 2 (यदि आप केवल दिनांक चाहते हैं और समय के स्थान पर शून्य नहीं):
SELECT TO_CHAR(CURRENT_DATE, 'yyyy-MM-dd') AS current_date FROM dual;
उदाहरण के लिए, यदि आप इस क्वेरी को 16 जून, 2021 को चलाते हैं, तो परिणाम तालिका इस तरह दिखाई देगी:
current_date |
---|
2021-06-16 |
चर्चा:
VARCHAR2
. का पाठ प्राप्त करने के लिए टाइप करें जो एक तिथि संग्रहीत करता है, आप TO_CHAR()
. का उपयोग कर सकते हैं Oracle में कार्य करता है। आपको पहले तर्क के रूप में परिवर्तित होने के लिए दिनांक/समय टिकट निर्दिष्ट करने की आवश्यकता है, और उस प्रारूप में जिसमें आप दिनांक को दूसरे तर्क के रूप में संग्रहीत करना चाहते हैं।
चूँकि आप वर्तमान तिथि चाहते हैं, पहला तर्क CURRENT_DATE
. है . दूसरा तर्क आपकी पसंद है। उदाहरण के लिए, 'yyyy-MM-dd'
'वर्ष-महीने-दिन' के लिए खड़ा है, जहां महीना पाठ के बजाय संख्यात्मक है। नीचे दी गई तालिका दिनांक 16 जून, 2021 के लिए कुछ उदाहरण दिनांक स्वरूप और संबंधित आउटपुट प्रस्तुत करती है।
तारीख प्रारूप | <थ>परिणाम|
---|---|
'YYYY-MM-DD' | 2021-06-16 |
'YYYY/MM/DD' | 2021/06/16 |
'YYYY MM DD' | 2021 06 16 |
'दिन-सोम-वर्ष' | 16-जून-2021 |
'दिन-सोम-वर्ष' | 16-जून-21 |
'FMMonth DD, YYYY' | 16 जून, 2021 |
आप यहां दिनांक प्रारूपों के बारे में अधिक पढ़ सकते हैं।