आप जो चाहते हैं, वह संभव नहीं है। लेकिन आपने शायद time
को गलत समझा टाइप करें
:यह एक दिन में एक सटीक समय-बिंदु का प्रतिनिधित्व करता है। दो (या अधिक) बार जोड़ने का कोई मतलब नहीं है। एफ.ई.एक्स. '14:00' + '14:00' = '28:00'
(लेकिन एक दिन में 28वां घंटा नहीं होता)।
आप शायद जो चाहते हैं, वह है interval
(जो समय अंतराल, घंटे, मिनट या यहां तक कि वर्षों का प्रतिनिधित्व करता है)। sum()
समर्थन करता है interval
तर्क।
यदि आप अंतराल का उपयोग करते हैं, तो यह इतना आसान है:
SELECT sum(interval_col) FROM my_table;
हालांकि, अगर आप time
. से चिपके रहते हैं टाइप करें (लेकिन आपके पास ऐसा करने का कोई कारण नहीं है), आप इसे interval
. पर डाल सकते हैं इसके साथ गणना करने के लिए:
SELECT sum(time_col::interval) FROM my_table;
लेकिन फिर से, परिणाम interval
होगा , क्योंकि time
मान एक दिन में 24 घंटे से अधिक नहीं हो सकते।
नोट :PostgreSQL आपके लिए कास्ट भी करेगा, इसलिए sum(time_col)
काम भी करना चाहिए, लेकिन परिणाम interval
है इस मामले में भी।