sql server根据日期筛选出工作日的数据

sql server根据日期筛选出工作日的数据

1.如果单纯筛选出除周六和周日的数据

SELECT * FROM 你创建的表 WHERE DATEPART(weekday,字段(日期)) <> 1 AND DATEPART(weekday,字段(日期)) <> 7
其中<>1代表非周日,<>7代表非周六,具体数字根据自己需求筛选

DATEPART(datepart,date)
《sql server根据日期筛选出工作日的数据》

2.如果还需筛选除节假日的数据

1.建立一个节假日表格;
《sql server根据日期筛选出工作日的数据》
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

到此工作基本完成,有什么其他好的方法大家也可以分享,相互学习!

    原文作者://myy//
    原文地址: https://blog.csdn.net/myy1997/article/details/102919105
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞