如何计算mysql中不包括周末和假日的日期差异

时间:2012-04-23 04:08:25

标签: mysql sql

我想计算两个日期之间的天数,比如开始和结束,但不包括周末和公众假期。我有公共假期日期表。我看到了一些这样的例子

select TIMEDIFF(date1,date2) from table 
where date1 not in (select holiday from holiday_table) and
date2 not in (select holiday from holiday_table) and
DAYOFWEEK(date1) not in (1,7) and DAYOFWEEK(date2) not in (1,7) 

但是这不起作用,因为它只有两个日期的开始和结束,但它之间的任何东西都要离开。你有其他建议吗?

1 个答案:

答案 0 :(得分:0)

我觉得从你对问题的描述中应该在UDF中创建它并且逻辑应该是这样的:

  • 查看日期select count(1) from holiday_table where holiday between @start and @end
  • 之间的日期
  • 然后取@start@end之间的真正差异并减去holiday_table的数量
相关问题