2012-04-23 78 views
0

我想计算两个日期之间的天数,如开始和结束,但不包括周末和公共假期。我有公共假期日期表。我看到一些例如像这样如何计算日期差异不包括周末和假期在mysql中

 
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)

但因为只需要两个日期开始和结束但它之间的任何东西离开这将无法工作。你有其他建议吗?

回答

0

我觉得从你的,它应该在UDF和逻辑产生的问题的描述应该是这样的:

  • 检查多日的天怎么掉下select count(1) from holiday_table where holiday between @start and @end
  • 再取@start@end之间的真正区别,并减去holiday_table的计数
+0

好的,这意味着我应该使用UDF,但问题是我不是使用UDF的虚拟器。你在这种情况下有任何例子吗?或者如果可能的话你可以提供这个sql查询。我想这对其他人也是有用的。谢谢 – Akrambek 2012-04-23 04:28:11

相关问题