开发中需要跟别人系统对接, 这次的对接方式是对方系统打算直接通过数据库去查询数据,而不是做成接口的方式.根据他们的需求, 这边就需要写一个视图,然后直接给对方调用.这种对接方式有个问题就是, 逻辑都需要在数据库中进行.
其中有一个字段要计算案件的预期到期时间,这个是要通过加上指定工作日计算出来的.这个只能使用函数去计算了
CREATE FUNCTION [dbo].[WorkDayAdd]
(@curDate AS DATETIME,
@workday AS INT
)
RETURNS DATETIME
AS
BEGIN
DECLARE @bz AS INT
SET @bz = 0
SELECT @bz = CASE WHEN @workday < 0
THEN -1
ELSE 1 END
SELECT @curDate = DATEADD(WEEK, @workday / 5, @curDate)
SELECT @workday = @workday % 5
WHILE @workday <> 0
SELECT
@curDate = DATEADD(DAY, @bz, @curDate),
@workday = CASE WHEN (@@DATEFIRST + DATEPART(WEEKDAY, @curDate) - 1) % 7 BETWEEN 1 AND 5
THEN @workday - @bz
ELSE @workday END
WHILE (@@DATEFIRST + DATEPART(WEEKDAY, @curDate) - 1) % 7 IN (0, 6)
SET @curDate = DATEADD(DAY, @bz, @curDate)
RETURN (@curDate)
END
转载自
https://blog.csdn.net/fddqfddq/article/details/8602276
该博客里面还有计算两个日期之间的工作日天数的函数