2013-10-23 9 views
6

में कुल समय SQL सर्वर में SUM ऑपरेटर के साथ समस्या है। जब मैं इस प्रश्न के बारे में:एसक्यूएल एसक्यूएल सर्वर

Operand data type time is invalid for sum operator.

वहाँ SUM के लिए किसी अन्य विधि है या रिकॉर्ड से कुल बार गणना करने के लिए:

SELECT StudentID, StudentName, SUM(t2.time) as 'TotalTime' 
FROM WorkNote 
GROUP BY StudentID, StudentName 

मैं इस त्रुटि मिलती है?

मेरी WorkNote तालिका में, स्तंभ time के प्रकार Time(7) है, और मैं SUM के लिए हर छात्र के लिए सभी (कुल) बार चाहता हूँ।

+0

में समय क्या 'यहां t2'? –

+0

ओओ क्षमा करें, यह असफल है, केवल योग (समय) .. टी 2 प्रीवोयस क्वेरी –

+0

से है क्यों आपने प्रश्न को MySQL टैग के साथ टैग किया है? –

उत्तर

10

तो hh/mm/ss ::

SELECT studentid,studentname, 
     DATEADD(ms, SUM(DATEDIFF(ms, '00:00:00.000', mytime)), '00:00:00.000') as time 
    FROM 
     worknote 
+0

'DATEADD (एमएस, एसयूएम (DATEDIFF (एमएस, 0, मायटाइम)), 0) क्योंकि समय लगता है कि सही ढंग से भी काम कर रहा है लेकिन अच्छा लगता है। –

1

आप सेकंड को समय में बदल सकते हैं और इसे जोड़ सकते हैं।

SELECT StudentID, 
     StudentName, 
     sum(DATEPART(SECOND, [time]) + 60 * 
       DATEPART(MINUTE, [time]) + 3600 * 
       DATEPART(HOUR, [time]) 
      ) as 'TotalTime' 
FROM WorkNote 
GROUP BY StudentID, StudentName 
+0

मुझे कुल मिलाकर मिलता है: 1413 मुझे समय 1 = 1: 20: 5 time2 = 2:20:10 घंटों में कुल समय चाहिए = 3: 40: 15 –

+0

कृपया अपने प्रश्न में एक अच्छी तरह से प्रारूपित तरीके से रखें । –

संबंधित मुद्दे