怎么得到一个月前的今天到今天的周末的天数呢?
怎么得到一个月前的今天到今天的周末的天数呢?
也就周六和周日在的天数
有这样的函数吗?
前辈知道的,可以给点提示吗?
------解决方案--------------------ALTER FUNCTION fn_DateDiffWork(
@BDate datetime,
@EDate datetime
)
RETURNS INT
AS
BEGIN
DECLARE @i int,@BDate_P datetime,@EDate_P datetime
SET @i = 0
SET @BDate_P = @BDate;
SET @EDate_P = @EDate;
WHILE DATEDIFF(dd,@BDate_P,@EDate_P) > 0
BEGIN
IF (@@datefirst + DATEPART(dw,@BDate_P)) % 7 <= 1
BEGIN
SET @i = @i + 1
END;
SET @BDate_P = @BDate_P + 1
END
RETURN(DATEDIFF(dd,@BDate,@EDate)- @i)
END
============================================================
这个函数可以得到两个日期间的工作日的天数
你自己改改吧。
------解决方案--------------------select dateadd(month,-1,getdate()) --一个月前的今天
select dateadd(day,7-datepart(weekday,getdate()),getdate()) --本周末的日子
select datediff(day,dateadd(month,-1,getdate()),dateadd(day,7-datepart(weekday,getdate()),getdate())) --相差的天数