sqlsever如何求两个日期之间的日期差(单位是天),要去除周六日

求解!!

SQL yzm208061 发布于 2023-7-3 14:43
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-7-3 15:05
  • yzm208061 yzm208061(提问者) 没有日期函数可以直接求嘛
    2023-07-03 15:14 
  • yzm208061 yzm208061(提问者) 那要是求两个日期之间,周六的天数能求嘛
    2023-07-03 15:15 
  • snrtuemc snrtuemc 回复 yzm208061(提问者) 参考https://blog.csdn.net/yelin042/article/details/77443992,文档求周六周日,你把最后7去掉就可以
    2023-07-03 15:19 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-7-3 15:05

最简单的算法,用存储过程写一张日历表(字段:rq和Flag(Flag为1表示工作日,为0表示节假日期)),

SELECT *,(SELECT COUNT(RQ) FROM 日历表  WHERE 日历表.FLAG='1' AND 日历表.RQ>=开始日期 and 日历表.rq<=结束日期) [DAYS] FROM TABLE 

  • yzm208061 yzm208061(提问者) 只能用存储过程实现嘛
    2023-07-03 15:14 
  • Z4u3z1 Z4u3z1 回复 yzm208061(提问者) 要不你用楼上的方法自己写一个函数。TA这个只排除周六、周日。我的方案是生成日历表,你维护一下日历表就可以算除了周六、周日还可以扩展到排除我们的其它节假日(你懂的调休特色)
    2023-07-03 15:17 
  • 1关注人数
  • 230浏览人数
  • 最后回答于:2023-7-3 15:05
    请选择关闭问题的原因
    确定 取消
    返回顶部