【发布时间】:2014-03-31 14:37:51
【问题描述】:
我正在尝试制作一个假期预订应用程序,它运行一个 JQuery UI 日历。他们选择的开始日期和结束日期将传递给 SQL,SQL 将假期放入请求的表中。唯一的问题是,如果我输入了开始日期和结束日期,则没有考虑到周末。该系统的每个用户每个日历年都有 21 天的假期津贴,它也会扣除周末的假期。这是当前代码。
SET @DateDiff = (DATEDIFF(Day,@StartDate,@EndDate) +1)
上面是日期差异语句,下面是插入代码
BEGIN
INSERT INTO Holidays(EmployeeID, StartDate, EndDate, Duration,Status)
VALUES(@EmployeeID, @StartDate, @EndDate, @DateDiff,'PE')
UPDATE Employees
SET AnnualDaysHolidayAllowance = AnnualDaysHolidayAllowance - @DateDiff
WHERE ID = @EmployeeID
SELECT 'successful' AS result
END
有更多用于业务检查和规则的代码,但这是我需要尝试修复的唯一部分。我对编码比较陌生,所以如果可能的话,请留下解释以帮助我理解修复,谢谢。
【问题讨论】:
-
你使用什么 RDBS?
-
您是否仅需要考虑周末,或者您所在地区是否有“标准”假期也应该考虑在内?如果是后者,它通常是一个指向创建日历表的指针,该表可以包含周末、标准假期甚至是您组织特定的其他特殊事件的信息。
-
RDBS 在我看来像 MS-SQL...
-
添加了 sql-server 标记,因为语法看起来确实像 SQL Server。
-
看看这篇文章 - 它应该会有所帮助... [堆栈溢出文章][1] [1]:stackoverflow.com/questions/252519/…
标签: sql sql-server date datediff weekend