मेरे पास लॉग की एक तालिका है जहां डेटा को प्रारूप Mon Aug 24 14:16:00 GMT 2020 के साथ सहेजा जा रहा है और मुझे उस डेटा को क्वेरी करने की आवश्यकता है जो दिनांक सीमा के बीच है।

मुझे कुछ चाहिए

SELECT * FROM logs
WHERE
      log_date_time >= 'some-date-format'
  AND log_date_time <  'some-date-format';

log_date_time एक स्ट्रिंग के रूप में सहेजा गया है। मैंने उपयोग करने की कोशिश की

select * from logs
WHERE log_date_time BETWEEN 'Mon Aug 05 2019' AND 'Mon Aug 24 17:54:37 GMT 2020';

लेकिन यह सही ढंग से काम नहीं कर रहा है, केवल 17 और 24 दिन की तारीखें लाता है

मैं यह कैसे पूछ सकता हूं?

0
burdk 24 अगस्त 2020, 21:08

1 उत्तर

सबसे बढ़िया उत्तर

तो कुछ ऐसा:

SELECT 
   * 
FROM 
   logs
WHERE 
   log_date_time::timestamptz 
BETWEEN 
    'Mon Aug 05 2019 GMT'::timestamptz 
AND 
    'Mon Aug 24 17:54:37 GMT 2020'::timestamptz;

जहां आप log_date_time को timestamp with time zone में कनवर्ट करते हैं और फिर स्ट्रिंग डेटाटाइम मानों के लिए वही करते हैं जिन्हें आप दिनांक सीमा के रूप में उपयोग करना चाहते हैं।

1
Adrian Klaver 24 अगस्त 2020, 22:14