Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изчислете сумата от дата и час в HH:MM:SS в sql

Мисля, че искахте да преобразувате във време (или дата и час, ако вашата версия на SQL Server не го поддържа), а не във varchar.

Но това е много лош начин да направите това. 25:01:01 няма да е валидна дата и час. Трябва да сумирате секундите (както е предложено в друг отговор) и след това да форматирате резултатите, както искате в края.

Така че в първата си заявка включете друга колона, която е продължителността в секунди:

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

След това във втората заявка просто форматирайте SUM([Ticket Type Seconds]), може би така:

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. Вмъкване на масив от байтове ВЪВ varbinary(max) запис

  2. Как да изброите файлове в папка със SQL Server

  3. Как да импортирам електронна таблица на Excel в база данни на SQL Server 2008R2?

  4. Защо операторът SqlServer select избира редове, които съвпадат, и редове, които съвпадат и имат завършващи интервали

  5. Показва в кое тримесечие на финансовата година е дадена дата