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

PostgreSQL में सप्ताह की शुरुआत और समाप्ति तिथि स्ट्रिंग कैसे प्राप्त करें?

आप उपयोग कर सकते हैं date_trunc('week', ...)

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

SELECT date_trunc('week', '2012-07-25 22:24:22'::timestamp);
-> 2012-07-23 00:00:00

फिर, यदि आप प्रारंभ समय में रुचि नहीं रखते हैं, तो आप इसे एक तिथि में बदल सकते हैं।

अंतिम तिथि भी प्राप्त करने के लिए:

SELECT    date_trunc('week', '2012-07-25 22:24:22'::timestamp)::date
   || ' '
   || (date_trunc('week', '2012-07-25 22:24:22'::timestamp)+ '6 days'::interval)::date;

-> 2012-07-23 2012-07-29

(मैंने यहां डिफ़ॉल्ट स्वरूपण का उपयोग किया है, आप निश्चित रूप से इसे MM/DD/YYYY का उपयोग करने के लिए अनुकूलित कर सकते हैं।)

ध्यान दें, यदि आप (date_trunc('week', ...) + '6 days'::interval का उपयोग करने के बजाय टाइमस्टैम्प पर तुलना करना चाहते हैं, तो ध्यान दें। , हो सकता है कि आप एक पूरा सप्ताह जोड़ना चाहें और सप्ताह के अंत के लिए सख्त तुलना का उपयोग करना चाहें।

यह y . को बाहर कर देगा सप्ताह के अंतिम दिन टाइमस्टैम्प (चूंकि कट-ऑफ समय उस दिन मध्यरात्रि है)।

    date_trunc('week', x)::date <= y::timestamp
AND y::timestamp <= (date_trunc('week', x) + '6 days'::interval)::date

इसमें वे शामिल होंगे:

    date_trunc('week', x)::date <= y::timestamp
AND y::timestamp < (date_trunc('week', x) + '1 week'::interval)

(ऐसा बहुत कम मामलों में होता है जब आप date_trunc . का उपयोग नहीं कर सकते हैं y . पर सीधे।)

यदि आपका सप्ताह रविवार को शुरू होता है, तो date_trunc('week', x)::date के स्थान पर date_trunc('week', x + '1 day'::interval)::date - '1 day'::interval के साथ काम करना चाहिए।



  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. लगातार दिनों की 'लकीर' में पंक्तियों में चल रही गिनती कैसे जोड़ें

  3. रेल में एकाधिक मैचों के साथ PostgreSQL समान है ActiveRecord

  4. PostgreSQL कॉपी के लिए CSV से स्कीमा कैसे जेनरेट करें

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