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

टाइमस्टैम्प के बीच SQL क्वेरी से अनपेक्षित परिणाम

डेटा प्रकार की जांच करें कॉलम और आपका समय क्षेत्र . आप भ्रमित हो सकते हैं timestamp with time zone और timestamp

ऐसा लगता है कि आपके पास timestamp है अपनी तालिका में, लेकिन timestamptz . के साथ क्वेरी करें . इस तरह, यह सब आपके सत्र के स्थानीय समय क्षेत्र पर निर्भर करता है (जो अन्यथा निर्दिष्ट न होने पर सर्वर के समय क्षेत्र में डिफ़ॉल्ट हो जाता है।)

दोनों को timestamptz . पर स्विच करें , या timestamp यदि समय क्षेत्र आपके लिए पूरी तरह अप्रासंगिक हैं। (यदि संदेह है, तो timestamptz . का उपयोग करें ।)

आपकी समस्या का कारण नहीं है, लेकिन आपकी क्वेरी शायद होनी चाहिए:

SELECT id, text, category, starttime, endtime, creation 
FROM   entries 
WHERE  starttime >= timestamp '2013-03-21' -- defaults to 00:00 time
AND    starttime <  timestamp '2013-03-22'
ORDER  BY id

a BETWEEN x AND y लगभग हमेशा गलत होता है timestamp के लिए भिन्नात्मक संख्याओं के कारण प्रकार! आपकी क्वेरी starttime = '2013-03-21T23:59:59.123+00' के साथ क्या करेगी ?




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

  2. PHP से पोस्टग्रेज कनेक्शन धीमा है

  3. नामित पैरामीटर के साथ `कहां कॉल इन`

  4. ConcurrentQueue पर PLINQ मल्टीथ्रेडिंग नहीं है

  5. कैसे एक डोकर कंटेनर से एक Postgresql डंप उत्पन्न करने के लिए?