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

PostgreSQL/Oracle में दो तिथियों के बीच अंतर की गणना कैसे करें

समस्या:

आपके पास दिनांक प्रकार के दो कॉलम हैं और आप उनके बीच के अंतर की गणना करना चाहते हैं।

उदाहरण:

travel तालिका, तीन कॉलम हैं:id , departure , और arrival . आप arrival . के बीच अंतर की गणना करना चाहेंगे और departure और आगमन से प्रस्थान तक के दिनों की संख्या सहित

travel तालिका इस तरह दिखती है:

id प्रस्थान आगमन
1 2018-03-25 2018-04-05
2 2019-09-12 2019-09-23
3 2018-07-14 2018-07-14
4 2018-01-05 2018-01-08

समाधान:

SELECT
  id,
  departure,
  arrival,
  arrival - departure AS date_difference,
  arrival - departure + 1 AS days
FROM travel;

नतीजा यह है:

<वें शैली="पृष्ठभूमि-रंग:#cecece">दिनांक_अंतर <वें शैली="पृष्ठभूमि-रंग:#cecece">दिन
id प्रस्थान आगमन
1 2018-03-25 2018-04-05 11 12
2 2019-09-12 2019-09-23 11 12
3 2018-07-14 2018-07-14 0 1
4 2018-01-05 2018-01-08 3 4

चर्चा:

PostgreSQL या Oracle में तिथियों के बीच के अंतर को गिनने के लिए, आपको बस एक तारीख को दूसरे से घटाना होगा, उदा। arrival - departure .

लेकिन ज्यादातर मामलों में, आप वास्तव में पहली तारीख से दूसरी तारीख तक सहित दिनों की संख्या चाहते हैं। . फिर आपको दिनों के अंतर में 1 दिन जोड़ना होगा:arrival - departure + 1


No

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL 'कहाँ' खंड में शर्तों का निष्पादन क्रम

  2. मैन्युअल रूप से नया आरएसी इंस्टेंस जोड़ें

  3. Oracle PL/SQL को सर्वर का IP v4 मिलता है?

  4. यदि कथन जहां खंड के भीतर है

  5. Oracle PL/SQL - कस्टम SQLERRM के साथ उपयोगकर्ता-परिभाषित अपवाद उठाएँ