考勤统计中,一般都需要考虑到节假日信息和调休的日期,每年12月份国家会颁布新一年的节假日信息,我们可根据节假日信息,维护成相关的日期表,用于日期维护。本文介绍下相关实现方式。
日期表的创建如下:
CREATE TABLE [dbo].[HR_WorkDayList](
[WorkDate] [varchar](10) NOT NULL,
[DateType] [nvarchar](10) NULL,
[IsWorkDay] [bit] NULL,
[Remark] [nvarchar](20) NULL,
CONSTRAINT [PK_HR_WorkDayList] PRIMARY KEY CLUSTERED
(
[WorkDate] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
可根据系统表插入每年的日期列表,SQL脚本如下(可以一次性生成几年内的日期列表,在系统设计中,我这里生成了2018年-2028年的日期数据):
INSERT INTO [db