访问SQL减去日期,不包括周末

时间:2012-04-25 13:55:45

标签: sql ms-access

我可以运行查询并更新创建日期的日期。但是我想排除周末,周一到周五。

示例:

UPDATE [Table1] SET [Table1].Days = DATE() - [Table1].DateCreated WHERE [Table1].Password = True AND [Table1].Complete = FALSE;

这将更新从创建日期到当前日期的值的天数,即1,2,3等。但是我需要这个来排除周末。我不经常运行查询,但我想创建此查询。

请帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

您将从Access会话中运行查询,您可以使用VBA用户定义函数来计算两个日期之间的工作日数。

例如,请考虑Access Web中的WorkingDays()函数:Calculate Number of Working Days。如果我理解你的查询,我认为这可能会做你想要的:

UPDATE [Table1]
SET [Table1].Days = WorkingDays([Table1].DateCreated, DATE())
WHERE [Table1].Password = True AND [Table1].Complete = FALSE;

在同一页面上,您可以找到一个WorkingDays2()功能,如果这有用,您可以将假期从工作日计算中排除。您需要为假期设置一个表格。

如果您将从Access会话外部执行此操作,例如从经典ASP或Dot.Net,您将无法在查询中使用用户定义的函数。