समस्या:
आपके पास timestamp
. प्रकार के दो कॉलम हैं और आप उनके बीच के अंतर की गणना करना चाहते हैं।
उदाहरण:
travel
तालिका, तीन कॉलम हैं:id
, departure
, और arrival
. आप arrival
. के बीच अंतर की गणना करना चाहेंगे और departure
।
travel
तालिका इस तरह दिखती है:
आईडी | प्रस्थान | आगमन |
---|---|---|
1 | 2018-03-25 12:00:00 | 2018-04-05 07:30:00 |
2 | 2019-09-12 15:50:00 | 2019-10-23 10:30:30 |
3 | 2018-07-14 16:15:00 | 2018-07-14 20:40:30 |
4 | 2018-01-05 08:35:00 | 2019-01-08 14:00:00 |
Sसमाधान:
SELECT id, departure, arrival, arrival - departure AS difference FROM travel;
नतीजा यह है:
आईडी | प्रस्थान | आगमन | अंतर |
---|---|---|---|
1 | 2018-03-25 12:00:00 | 2018-04-05 07:30:00 | 10 19:30:0.0 |
2 | 2019-09-12 15:50:00 | 2019-10-23 10:30:30 | 40 18:40:30.0 |
3 | 2018-07-14 16:15:00 | 2018-07-14 20:40:30 | 0 4:25:30.0 |
4 | 2018-01-05 08:35:00 | 2019-01-08 14:00:00 | 368 5:25:0.0 |
चर्चा:
Oracle में टाइमस्टैम्प के बीच अंतर की गणना करने के लिए, बस प्रारंभ टाइमस्टैम्प को एंड टाइमस्टैम्प से घटाएँ (यहाँ:arrival
- departure
) परिणामी कॉलम INTERVAL DAY TO SECOND
. में होगा . पहली संख्या जो आप देख रहे हैं वह departure
. से पूरे दिनों की संख्या है arrival
. के लिए . फिर आप दशमलव स्थान के रूप में किसी भी आंशिक सेकंड के साथ पूरे घंटे, पूरे मिनट और सेकंड की संख्या देखेंगे।