इसमें क्या गलत है:
SELECT a,b,c
FROM table
WHERE xtime BETWEEN '2012-04-01 23:55:00'::timestamp
AND now()::timestamp;
अगर आप सेकंड की गिनती अंतराल
. के साथ काम करना चाहते हैं :
...
WHERE xtime BETWEEN now()::timestamp - (interval '1s') * $selectedtimeParm
AND now()::timestamp;
ध्यान दें, मैंने मानक ISO 8601 दिनांक प्रारूप YYYY-MM-DD h24:mi:ss
का उपयोग कैसे किया जो किसी भी लोकेल या DateStyle से स्पष्ट नहीं है
सेटिंग।
यह भी ध्यान दें, कि BETWEEN
. के लिए पहला मान निर्माण छोटा होना चाहिए। अगर आप नहीं जानते हैं कि कौन सा मान छोटा है, तो BETWEEN SYMMETRIC<का उपयोग करें /कोड>
इसके बजाय।
अपने प्रश्न में आप डेटाटाइम प्रकार टाइमस्टैम्प
. का उल्लेख करते हैं "तारीख", "समय" और "अवधि" के रूप में। शीर्षक में आपने "टाइम फ्रेम" शब्द का इस्तेमाल किया है, जिसे मैंने "टाइमस्टैम्प" में बदल दिया है। ये सभी शर्तें गलत हैं। उनका स्वतंत्र रूप से आदान-प्रदान करने से प्रश्न को समझना और भी कठिन हो जाता है।
वह, और यह तथ्य कि आपने केवल प्रश्न को टैग किया था psql
(समस्या शायद ही कमांड लाइन टर्मिनल से संबंधित है) यह समझाने में मदद कर सकती है कि किसी ने दिनों तक जवाब क्यों नहीं दिया। आम तौर पर, यह यहाँ के आसपास कुछ ही मिनटों की बात है। मुझे आपका प्रश्न समझने में कठिनाई हुई, इसे एक दो बार पढ़ना पड़ा।
आपको डेटा प्रकारों को समझने की आवश्यकता है दिनांक
, अंतराल
, समय
और टाइमस्टैम्प
- समय क्षेत्र के साथ या बिना। मैनुअल में अध्याय "Date/Time Types" पढ़कर शुरुआत करें ।
त्रुटि संदेश भी बहुत आगे बढ़ गया होता।