适合存储小时数的数据类型



我想在数据库中存储小时数。场景是这样的,我必须存储员工的最小总小时数,直到他被标记为提前。例如,如果员工在办公室的总工作时间少于 7:30,则比她/他提前离开的时间要少。正确的数据类型应该是什么?

查看数据类型 time ,可从 SQL Server 2008 获得。但是,请注意,这实际上是一种数据类型,指的是类型(如 datetime(的一部分 - 因此它解释了一天中的时间,因此最多 24 小时。

如果您需要计算寿命(例如某人工作了多长时间(,我总是建议有两个时间戳(例如datetime2(,然后计算出与DATEDIFF()的差异。这样,您将来也拥有更大的灵活性,因为您可以动态选择是否要查找秒,分钟,小时等差异。

根据你的方案,你可能不需要存储超过 24 小时。在这种情况下,最佳匹配是时间数据类型。

见 https://learn.microsoft.com/en-us/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql

相关内容

最新更新