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

दिनांक सीमाओं के बीच पोस्टग्रेस्क्ल क्वेरी

दिनांक (और समय) के साथ यदि आप >= start AND < end . का उपयोग करते हैं तो कई चीजें आसान हो जाती हैं ।

उदाहरण के लिए:

SELECT
  user_id
FROM
  user_logs
WHERE
      login_date >= '2014-02-01'
  AND login_date <  '2014-03-01'

इस मामले में आपको अभी भी उस महीने की आरंभ तिथि की गणना करने की आवश्यकता है जिसकी आपको आवश्यकता है, लेकिन यह किसी भी तरह से सीधे आगे होना चाहिए।

अंतिम तिथि को भी सरल बनाया गया है; बस ठीक एक महीना जोड़ें। 28वें, 30वें, 31वें, आदि के साथ कोई खिलवाड़ नहीं।


इस संरचना में अनुक्रमणिका के उपयोग को बनाए रखने में सक्षम होने का लाभ भी है।


बहुत से लोग निम्न जैसे फॉर्म का सुझाव दे सकते हैं, लेकिन वे नहीं अनुक्रमणिका का उपयोग करें:

WHERE
      DATEPART('year',  login_date) = 2014
  AND DATEPART('month', login_date) = 2

इसमें तालिका में हर एक पंक्ति (एक स्कैन) के लिए शर्तों की गणना करना शामिल है और पंक्तियों की श्रेणी का पता लगाने के लिए अनुक्रमणिका का उपयोग नहीं करना जो मेल खाती हैं (एक श्रेणी-खोज)।



  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. स्प्रिंग बूट पर हाइबरनेट के साथ PostGIS ज्यामिति बिंदु फ़ील्ड को मैप करें

  3. SQLAlchemy में जटिल विदेशी कुंजी बाधा

  4. PostgreSQL एनम और जावा एनम के बीच हाइबरनेट मैपिंग

  5. PostgreSQL में डुप्लिकेट पंक्तियों का चयन करने के 4 तरीके