Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server - tính toán thời gian đã trôi qua giữa hai dấu ngày giờ ở định dạng HH:MM:SS

ĐÃ CẬP NHẬT:

Tính toán chính xác khoảng thời gian trong SQL Server, ngay cả khi nhiều hơn 24 giờ :

-- Setup test data
declare @minDate datetime = '2012-12-12 20:16:47.160'
declare @maxDate datetime = '2012-12-13 15:10:12.050'

-- Get timespan in hh:mi:ss
select cast(
        (cast(cast(@maxDate as float) - cast(@minDate as float) as int) * 24) /* hours over 24 */
        + datepart(hh, @maxDate - @minDate) /* hours */
        as varchar(10))
    + ':' + right('0' + cast(datepart(mi, @maxDate - @minDate) as varchar(2)), 2) /* minutes */
    + ':' + right('0' + cast(datepart(ss, @maxDate - @minDate) as varchar(2)), 2) /* seconds */

-- Returns 18:53:24

Đặc biệt hoan nghênh các trường hợp cạnh cho thấy độ chính xác không chính xác!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để đặt đối chiếu cho một kết nối trong SQL Server?

  2. Khóa chính tổng hợp JPA

  3. Làm thế nào để giết / dừng một truy vấn SQL dài ngay lập tức?

  4. Giới thiệu về Lệnh GO trong SQL Server

  5. làm thế nào để kiểm tra cấu trúc cột trong ssis?