【发布时间】:2014-04-26 23:17:03
【问题描述】:
我有一个 sql 表,我将在其中存储每个员工的时间记录(IN 和 OUT)。
表架构是:
所以,为了更容易计算工作时间、假期、节假日等。我还想在同一张表中包含一个新字段:
-
isweekday:这会让我知道当天是否是工作日(将有助于未来的计算)
但我也想知道哪一天(星期一、星期二等)我正在考虑从 1 到 7 的 tinyint 数据类型,其中 1 是星期一,7 是星期日。
有什么建议或建议吗?在 C# 或 SQL 中,星期一是否等于一周的第一天?
【问题讨论】:
-
SQL Server 有
datepart()函数,它已经返回星期几。包括在表中是不必要的冗余。另一方面,节日标志是个好主意。 -
所以你认为创建一个“day”tinyint 字段来存储一天是不必要的。我在考虑这个是为了避免在服务器端做更多的数学运算。但我认为你是对的。
-
。 .我不会说永远不会,只有 9+9% 的时间。添加 7 位标志最多会为每条记录的大小增加一个字节。如果服务器的 CPU 负载非常非常重,那么可能不调用内置函数并读取该值会带来很小的性能提升。
-
完全同意 :),您要创建答案吗?我会检查的。
标签: c# sql sql-server