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

जन्म तिथि दिए गए अगले जन्मदिन की गणना कैसे करें?

select birth_date,
       cast(birth_date + ((extract(year from age(birth_date)) + 1) * interval '1' year) as date) as next_birthday
from person
where name = 'Bob'

व्यंजक (extract(year from age(birth_date)) + 1) * interval '1' year अगले जन्मदिन पर (पूर्ण) वर्षों में आयु की गणना करता है। इसे जन्म तिथि में जोड़ने पर, यह अगला जन्मदिन देता है।

वास्तविक date प्राप्त करने के लिए कास्ट आवश्यक है वापस, क्योंकि date + interval एक टाइमस्टैम्प (एक समय सहित) देता है।

अगर आप where को हटाते हैं शर्त, आपको सभी "अगले" जन्मदिन मिलेंगे।

आप आने वाले जन्मदिनों की एक सूची भी प्राप्त कर सकते हैं उदा। अगले 30 दिन कुछ इस तरह का उपयोग करते हुए:

select next_birthday,
       next_birthday - current_date as days_until_next
from (
  select birth_date,
         cast(birth_date + ((extract(year from age(birth_date)) + 1) * interval '1' year) as date) as next_birthday
  from person
) as upcoming
where upcoming.next_birthday <= current_date + 30
order by next_birthday;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL विभाजन अनुक्रम कैसे बनाएं?

  2. केवल उन पंक्तियों का चयन करें जिनमें एक अद्वितीय आईडी दी गई है, इससे पहले की पंक्तियों से एक कॉलम बदल गया है

  3. डेटाबेस को पोस्टग्रेज करने के लिए टेबल व्यू बनाने के लिए क्यूटी डिज़ाइनर का उपयोग करना

  4. Postgresql CHECK IN सूची बाधा के लिए कस्टम त्रुटि संदेश

  5. कैसे Cos () PostgreSQL में काम करता है