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

时间:2018-04-10 07:24:28

标签: sql-server

我想在数据库中存储小时数。情况是这样的,我必须存储员工的最小总小时数,直到他标记为早出。例如,如果员工在办公室工作的总时间少于7:30,那么他/她早早离开。 什么应该是适当的数据类型?

2 个答案:

答案 0 :(得分:3)

查看数据类型time, available from SQL Server 2008.但请注意,这实际上是一种数据类型,指的是类型的一部分,例如datetime - 因此它解释了时间,因此最多可达24小时。

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

答案 1 :(得分:1)

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

请参阅https://docs.microsoft.com/en-us/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql