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

भिन्न डेटा खोजने का प्रयास करते समय समान परिणाम प्राप्त करें

आपकी समस्या कोष्ठक की कमी है:SQL में AND OR . पर वरीयता लेता है , इसलिए आपको अपनी पूरी पिछली अभिव्यक्ति के चारों ओर कोष्ठक लगाने की आवश्यकता है:

SELECT * FROM dim_date
WHERE ( -- added bracket
 EXTRACT (MONTH FROM date_cal) BETWEEN 3 AND 5
 OR (EXTRACT (MONTH FROM date_cal) = 2 AND EXTRACT (DAY FROM date_cal) >= 15)
 OR (EXTRACT (MONTH FROM date_cal) = 6 AND EXTRACT (DAY FROM date_cal) <= 21)
 ) -- added bracket
AND EXTRACT (YEAR FROM date_cal) BETWEEN 2010 AND 2012

कोष्ठक के बिना, आपको A or B or (C and D) मिलता है , लेकिन आप (A or B or C) and 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. SQLAlchemy के साथ SQL व्यू कैसे बनाएं?

  2. मैं ऑटोइनक्रिकमेंटिंग प्राथमिक कुंजी के साथ आर से पोस्टग्रेएसक्यूएल टेबल पर डेटा कैसे लिखूं?

  3. PostgreSQL - कोई संबंध नहीं मिला।

  4. क्या PostgreSQL 12.1 के साथ MacOS कैटालिना पर वर्चुअलएन्व में psycopg2 स्थापित करने में कोई समस्या है?

  5. Postgresql में एक अपरर्ट प्रदर्शन करते समय आंशिक सूचकांक का उपयोग संघर्ष खंड में नहीं किया जाता है