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

एसक्यूएल का उपयोग करके लापता तिथियां खोजें

यह आपको एक वर्ष के लिए सभी लापता दिन मिल जाएगा (SQL Fiddle )।

all_dates 2012 की सभी तिथियों की एक सूची तैयार करता है (आवश्यकतानुसार समायोजित करें), और LEFT JOIN IS NULL के लिए जाँच कर रहा है उन तिथियों को हटा देता है जो आपकी स्रोत-तालिका में मौजूद हैं।

WITH all_dates AS (
  SELECT TO_DATE('01-jan-2012') + ROWNUM - 1 AS d
  FROM dual
  CONNECT BY ROWNUM <= ADD_MONTHS(TO_DATE('01-jan-2012'), 12 ) - TO_DATE('01-jan-2012')
)
SELECT all_dates.d
FROM all_dates
LEFT JOIN t ON ( t.d = all_dates.d )
WHERE t.d IS NULL
ORDER BY all_dates.d
;

तारीख को तीन बार हार्ड-कोडिंग करने के बजाय बाइंड वेरिएबल का उपयोग करना सुनिश्चित करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यदि किसी अन्य तालिका में रिकॉर्ड पाया जाता है तो तालिका से चयन करें

  2. टैब-पृथक डेटा फ़ाइल उत्पन्न करने के लिए SQLPlus सेटिंग्स

  3. Oracle में एक यूनिक्स टाइमस्टैम्प को दिनांक मान में बदलें

  4. Oracle SQL - REGEXP_LIKE में a-z या A-Z . के अलावा अन्य वर्ण शामिल हैं

  5. Oracle 10.2 के लिए SQLPLUS में कॉलम/फ़ील्ड खोजने के लिए सर्च कमांड