Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ओरेकल एसक्यूएल डेवलपर में 2 तिथियों के बीच डेटा कैसे प्राप्त करें

दिनांक का कोई प्रारूप नहीं होता - यह डेटाबेस में आंतरिक रूप से 7-बाइट्स के रूप में संग्रहीत है। (वर्ष, महीने, दिन, घंटे, मिनट और सेकंड का प्रतिनिधित्व करते हुए) और यह तब तक नहीं है जब तक कि आप जिस भी यूजर इंटरफेस का उपयोग कर रहे हैं (यानी एसक्यूएल/प्लस, एसक्यूएल डेवलपर, जावा, आदि) इसे आपको, उपयोगकर्ता और धर्मान्तरित करने की कोशिश करता है यह कुछ ऐसा है जो आपको सार्थक (आमतौर पर एक स्ट्रिंग) मिलेगा कि तारीख का एक प्रारूप है।

अपनी क्वेरी को ठीक करने के लिए आपको केवल सिंगल कोट्स में दिनांक स्ट्रिंग को घेरना होगा और YY . का उपयोग करना होगा 2-अंकीय वर्ष प्रारूप से मिलान करने के लिए (अन्यथा Oracle मान लेगा कि 17 प्रारूप में YYYY वर्ष है 0017 और शताब्दी आपकी अपेक्षा के अनुरूप नहीं होगी ):

select sum(TOTAL_AMOUNT)
from   table a
where  trn_date between TO_DATE('01-APR-17', 'DD-MON-YY')
                    AND TO_DATE('31-MAR-17', 'DD-MON-YY'); 

हालांकि, आप दिनांक अक्षर का भी उपयोग कर सकते हैं (और दिनांक प्रारूप मॉडल से मिलान करना छोड़ दें):

select sum(TOTAL_AMOUNT)
from   table a
where  trn_date between DATE '2017-04-01'
                    AND DATE '2017-05-31'; 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अपैक्स स्थापना विफल, PLS-00201:पहचानकर्ता 'SYS.DBMS_DB_VERSION' घोषित किया जाना चाहिए

  2. जावा के साथ ऑरैकल टीएनएसपिंग कैसे करें?

  3. एसक्यूएल चयन एल पंक्तियों को सबक्वायरी के बिना कॉलम के लिए

  4. लिफाफा प्राप्त करें। यानी ओवरलैपिंग टाइम स्पैन

  5. R12/R12.2 . में Oracle प्रपत्र