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

दो तिथियों के बीच सटीक माह-अंतर की गणना करें

आप age() का उपयोग कर सकते हैं . अगर मान हमेशा 12 महीने से कम होता है, तो एक तरीका यह है:

SELECT iv.product_name,
       extract(month form age('2020-12-20'::date, MAX(iv.inventory_date::date))) AS months_in_inventory
FROM inventory iv
GROUP BY 1
ORDER BY 1;

अधिक सटीक गणना वर्ष को ध्यान में रखती है:

SELECT iv.product_name,
       (extract(year from age('2020-12-20'::date, MAX(iv.inventory_date::date))) * 12 +
        extract(month from age('2020-12-20'::date, MAX(iv.inventory_date::date)))
       ) AS months_in_inventory
FROM inventory iv
GROUP BY 1
ORDER BY 1;

यहां एक डीबी<>बेला है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज LIKE '...%' अनुक्रमणिका का उपयोग नहीं करता है

  2. केयेन, पोस्टग्रेस:​​प्राथमिक कुंजी पीढ़ी

  3. SQL LIMIT WHERE क्लॉज के साथ

  4. क्या PostgreSQL क्वेरी में नामित स्थिरांक को परिभाषित करने का कोई तरीका है?

  5. हटाने के बाद दूरस्थ डेटाबेस में पंक्तियों को सम्मिलित करने के लिए ट्रिगर