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

Tính toán chênh lệch thời gian trong SQL Server

Sử dụng Row_number để đặt bàn của bạn. Sau đó, kết hợp với hàng trước đó để so sánh

with cte as (
    select
        *, row_number() over (partition by [Emp ID] order by time) rn
    from
        Timecal
)

select
    a.[Emp ID], a.time, status = case when datediff(hh, b.time, a.time) < 5 then 0 else 1 end
from
    cte a
    left join cte b on a.[Emp ID] = b.[Emp ID] and a.rn - 1 = b.rn



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. chọn * từ bảng so với chọn colA, colB, v.v. từ hành vi thú vị của bảng trong SQL Server 2005

  2. Làm cách nào để trả về nhiều tập kết quả với SqlCommand?

  3. Chuyển đổi ngầm định và làm tròn

  4. Cách bật / tắt quyền truy cập dữ liệu trong SQL Server (Ví dụ T-SQL)

  5. Xuất dữ liệu bảng từ SQL Server này sang SQL Server khác