Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Hitung Jumlah Datetime di HH:MM:SS di sql

Saya pikir Anda bermaksud mengonversi ke waktu (atau datetime jika versi SQL Server Anda tidak mendukungnya), daripada varchar.

Tapi, ini adalah cara yang sangat buruk untuk melakukan ini. 25:01:01 tidak akan menjadi tanggal yang valid. Anda harus menjumlahkan detik (seperti yang disarankan dalam jawaban lain), lalu memformat hasilnya sesuka Anda di bagian akhir.

Jadi, dalam kueri pertama Anda, sertakan kolom lain yang durasinya dalam detik:

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

Kemudian di query kedua, format saja SUM([Ticket Type Seconds]), mungkin seperti ini:

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

Itu memberi Anda jam (bisa lebih dari 24), digabungkan dengan bagian ':MM:SS' dari datetime yang Anda dapatkan ketika Anda mengonversi detik (ditambahkan ke tanggal 0:19000101 00:00:00) menjadi waktu kencan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menyimpan gambar di kolom tabel database SQL Server

  2. SQL Server - Mengembalikan nilai setelah INSERT

  3. Bagaimana cara mendapatkan hasil ekspor dalam format CSV nyata di SQL Server Management Studio?

  4. Urutkan Kolom Untuk Pivot Dinamis

  5. Bagaimana menerapkan warna dalam output PowerShell