PostgreSQL में सेकंड में टाइमस्टैम्प के बीच अंतर खोजें


127

मेरे पास एक तालिका है PostgreSQL 8.3जिसमें 2 timestampकॉलम हैं। मैं इन timestampsसेकंडों के बीच अंतर प्राप्त करना चाहूंगा । क्या आप कृपया मेरी मदद कर सकते हैं कि यह कैसे किया जाए?

TableA
(
  timestamp_A timestamp,
  timestamp_B timestamp
)

मुझे (timestamo_B - timestamp_A)सेकंड में कुछ प्राप्त करने की आवश्यकता है (न केवल सेकंड के बीच का अंतर, इसमें घंटे, मिनट आदि शामिल होना चाहिए)

जवाबों:


238

प्रयत्न: 

SELECT EXTRACT(EPOCH FROM (timestamp_B - timestamp_A))
FROM TableA

यहाँ विवरण: EXTRACT


3
उत्तर के लिए बहुत बहुत धन्यवाद। इसने काम कर दिया !!! उपरोक्त क्वेरी में, हम एक बंद कोष्ठक को याद कर रहे हैं। लेकिन मैंने इसका पता लगा लिया है। आपके त्वरित उत्तर के लिए बहुत बहुत धन्यवाद।
अरुण

30
select age(timestamp_A, timestamp_B)

इगोर की टिप्पणी का उत्तर:

select age('2013-02-28 11:01:28'::timestamp, '2011-12-31 11:00'::timestamp);
              age              
-------------------------------
 1 year 1 mon 28 days 00:01:28

यह काम नहीं करेगा। यह होगा Subtract arguments, producing a "symbolic" result that uses years and months। यह सेकंड में अंतर नहीं देगा।
इगोर रोमनचेंको

@Igor सेकंड सहित परिणामों के साथ अपडेट किया गया। ओपी न केवल सेकंड, बल्कि मिनट, घंटे आदि भी चाहता है
क्लोडोल्डो नेटो

5
अगर मैंने उसे सही तरीके से समझा, तो वह चाहता है to get the difference between these timestamps in seconds। और it should include hours, minutes etcइसका मतलब है कि यह पूर्ण अंतर होना चाहिए 10:25:30 - 10:15:25 = 605 seconds। मेरा अनुमान है - वह इस्तेमाल किया EXTRACT(SECONDS FROM ...)और मिल गया10:25:30 - 10:15:25 = 5 seconds
इगोर Romanchenko 12

1
@ इगोर यह बहुत स्पष्ट नहीं है लेकिन अब जब आप कहते हैं कि मुझे लगता है कि आप शायद सही हैं।
क्लोडोल्डो नेटो

@ क्लोडोल्डो: मुझे इगोर द्वारा बताए गए आउटपुट की आवश्यकता है। मुझे सेकंड में पूरे अंतर की आवश्यकता है।
अरुण

0
SELECT (cast(timestamp_1 as bigint) - cast(timestamp_2 as bigint)) FROM table;

मामले में अगर किसी को निकालने का उपयोग कर एक समस्या है ।


यह टाइमज़ोन के साथ टाइमस्टैम्प के साथ भी काम नहीं करता है।
रोडोल्फो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.