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

एचएच में डेटाटाइम की राशि की गणना करें:एमएम:एसएस एसक्यूएल में

मुझे लगता है कि आप वर्चर के बजाय समय (या डेटाटाइम यदि SQL सर्वर का आपका संस्करण इसका समर्थन नहीं करता है) में कनवर्ट करना चाहते थे।

लेकिन, ऐसा करने का यह एक बहुत ही बुरा तरीका है। 25:01:01 वैध डेटाइम नहीं होगा। आपको सेकंडों का योग करना चाहिए (जैसा कि किसी अन्य उत्तर में सुझाया गया है), और फिर परिणामों को अंत में अपनी पसंद के अनुसार प्रारूपित करें।

तो, अपनी पहली क्वेरी में, एक और कॉलम शामिल करें जो सेकंड में अवधि है:

, DateDiff(s,[Start Date] , [End Date]) as [Ticket Type Seconds]

फिर दूसरी क्वेरी में, बस SUM ([टिकट प्रकार सेकंड]) को प्रारूपित करें, शायद इस तरह:

STR(SUM([Ticket Type Seconds])/3600) 
+ RIGHT(CONVERT(char(8),DATEADD(s,SUM([Ticket Type Seconds]),0),108),6)

यह आपको घंटे देता है (जो कि 24 से अधिक हो सकता है), ':MM:SS' उस डेटाटाइम के भाग के साथ संयोजित होता है जो आपको सेकंडों को परिवर्तित करने पर मिलता है (0 दिनांक में जोड़ा गया:19000101 00:00:00) से डेटटाइम।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल सर्वर डेटटाइम ऑब्जेक्ट को बिगिनट (नेट टिक) में कनवर्ट करें

  2. कृपया PIVOT के भागों की व्याख्या करें

  3. SQL सर्वर प्रदर्शन फ़ाइल IO सांख्यिकी

  4. SQL सर्वर 2017 चरण दर चरण स्थापना -1

  5. एसक्यूएल - सूची क्रम द्वारा आदेश