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

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值