डेटा प्रकार की जांच करें कॉलम और आपका समय क्षेत्र . आप भ्रमित हो सकते हैं 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'
के साथ क्या करेगी ?