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

PostgreSQL में किसी तिथि से सप्ताह संख्या कैसे निकालें

समस्या:

आप PostgreSQL डेटाबेस में दिनांक या टाइमस्टैम्प मान की सप्ताह संख्या प्राप्त करना चाहते हैं।

उदाहरण:

हमारे डेटाबेस में children कॉलम में डेटा के साथ id , first_name , last_name , और birth_date

<थ>पहला_नाम <थ>जन्म तिथि
आईडी last_name
1 एंजेला मिशेलिन 2018-01-01
2 मार्टिन जैक्सन 2002-07-26
3 जस्टिन क्लार्क 2010-12-26
4 फ्रैंक बार्कर 2008-06-08

प्रत्येक बच्चे के लिए, आइए उनका पहला नाम, अंतिम नाम और उनकी जन्मतिथि के सप्ताह की संख्या प्राप्त करें।

समाधान 1:

हम DATE_PART() . का उपयोग करेंगे समारोह। यहां वह प्रश्न है जो आप लिखेंगे:

SELECT first_name,
	 last_name,
       DATE_PART('week',birth_date) 
         AS  birth_week_number
FROM children;

ये रहा क्वेरी का नतीजा:

<थ>पहला_नाम <थ>जन्म_सप्ताह_संख्या
last_name
एंजेला मिशेलिन 1
मार्टिन जैक्सन 30
जस्टिन क्लार्क 51
फ्रैंक बार्कर 23

चर्चा:

DATE_PART() का उपयोग करें PostgreSQL डेटाबेस में किसी दिनांक से सप्ताह संख्या पुनर्प्राप्त करने के लिए कार्य करता है। यह फ़ंक्शन दो तर्क लेता है। पहला तर्क पुनर्प्राप्त करने का दिनांक भाग है; हम 'सप्ताह' का उपयोग करते हैं, जो सप्ताह की संख्या देता है (उदाहरण के लिए जनवरी में पहले सप्ताह के लिए "1", वर्ष का पहला सप्ताह)। आप किसी अन्य दिनांक भाग का उपयोग कर सकते हैं, जैसे दिन, वर्ष, माह, घंटा, मिनट, doy (वर्ष में दिन की संख्या), आदि। आप PostgreSQL दस्तावेज़ीकरण में दिनांक भागों के बारे में अधिक जान सकते हैं।

दूसरा तर्क दिनांक/टाइमस्टैम्प/टाइमस्टैम्प्ट्ज़ डेटा प्रकार का कॉलम नाम या इन प्रकारों में से किसी एक को लौटाने वाला अभिव्यक्ति है। (हमारे उदाहरण में, यह तारीख . का कॉलम है डेटा प्रकार।)

जब 'सप्ताह' दिनांक भाग के साथ प्रयोग किया जाता है, तो फ़ंक्शन DATE_PART() सप्ताह संख्या को पूर्णांक के रूप में लौटाता है। हमारे उदाहरण में, दिए गए बच्चे की जन्मतिथि के लिए सप्ताह की संख्या प्रदर्शित होती है; हमने इस कॉलम का नाम birth_week_number . रखा है . मार्टिन जैक्सन का जन्म 2002-07-26 . को हुआ था , इसलिए फ़ंक्शन उसकी जन्मतिथि के सप्ताह संख्या के रूप में '30' लौटाता है।

DATE_PART() सप्ताह संख्या प्राप्त करने का केवल एक ही तरीका नहीं है। एक अन्य विकल्प EXTRACT() . का उपयोग करना है समारोह।

समाधान 2:

हम EXTRACT() . का उपयोग करेंगे समारोह। यहां वह प्रश्न है जो आप लिखेंगे:

SELECT first_name,
	 last_name,
       EXTRACT('week' FROM birth_date) 
         AS  birth_week_number
FROM children;

यह फ़ंक्शन DATE_PART() के समान है . अंतर वाक्य रचना में है:दिनांक भाग के नाम और स्तंभ/अभिव्यक्ति के बीच अल्पविराम के बजाय, FROM कीवर्ड है। साथ ही, EXTRACT() समारोह एसक्यूएल मानक है। परिणाम दोनों कार्यों के लिए समान है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django + Postgres + बड़ी समय श्रृंखला

  2. PostgreSQL सहसंबंध समारोह का उपयोग करना

  3. एंटिटी फ्रेमवर्क कोर के साथ आंशिक प्राथमिक कुंजी पर ऑटो-इन्क्रीमेंट

  4. त्रुटि:अनटर्मिनेटेड उद्धृत स्ट्रिंग पर या उसके निकट

  5. अपरिवर्तनीय, स्थिर और अस्थिर कीवर्ड फ़ंक्शन के व्यवहार को कैसे प्रभावित करते हैं?