首页 > 解决方案 > 如何在sql中找到两个时间值之间的差异

问题描述

我目前正在编写一个 C# 应用程序,用户可以在其中记录每天的登录和注销时间。
时间存储在数据类型为 time(0) 的表中,因此时间显示为 09:00:00。
存储数据的列是 Sign_In、Sign_Out

我要做的是显示用户当天工作了多长时间,例如 Sign_In 09:00:00 Sign_Out 17:00:00 。例如,这里的差异是 8 小时。我曾尝试研究 tish,但无法弄清楚。我为此尝试了以下方法。

如何在 SQL 语句中编写 Sign_Out 减去 Sing_In ?

标签: sqlsql-server

解决方案


您可以使用datediff()

select datediff(minute, sign_in, sign_out) as minutes_inside

如果您希望将其作为小时数,我建议您使用小数小时数:

select datediff(minute, sign_in, sign_out) / 60.0 as hours_inside

推荐阅读