sql server根据日期筛选出工作日的数据
sql server根据日期筛选出工作日的数据
1.如果单纯筛选出除周六和周日的数据
SELECT * FROM 你创建的表 WHERE DATEPART(weekday,字段(日期)) <> 1 AND DATEPART(weekday,字段(日期)) <> 7
其中<>1代表非周日,<>7代表非周六,具体数字根据自己需求筛选
DATEPART(datepart,date)
2.如果还需筛选除节假日的数据
1.建立一个节假日表格;
2.建立语句筛除;
SELECT * FROM 你创建的表 WHERE NOT EXISTS (SELECT * FROM dbo.holiday where dbo.创建的表.字段(日期)=dbo.holiday.date)
其中holiday是我自己创建的节假日表,date就是节假日表中的日期。
3.筛选出除节假日和周末的数据,也就是工作日的数据,将语句联合
SELECT * FROM 你创建的表 WHERE NOT EXISTS (SELECT * FROM dbo.holiday where dbo.创建的表.字段(日期)=dbo.holiday.date) AND DATEPART(weekday,字段(日期)) <> 1 AND DATEPART(weekday,字段(日期)) <> 7
到此工作基本完成,有什么其他好的方法大家也可以分享,相互学习!