📜  添加星期结束日期 sql server - SQL (1)

📅  最后修改于: 2023-12-03 15:11:07.522000             🧑  作者: Mango

添加星期结束日期 SQL Server - SQL

在SQL Server中,我们可以使用函数和脚本来计算星期的结束日期,这是一项非常有用的功能。下面将介绍如何使用SQL的内置函数来实现这个功能。

使用DATEADD函数计算星期结束日期

DATEADD函数可以为日期添加指定的时间间隔。例如,我们可以使用DATEADD函数在某个日期基础上添加一天,如下所示:

SELECT DATEADD(day,1,'2022-01-01')

这将返回日期为2022年1月2日的结果。同样,我们也可以使用DATEADD函数计算星期结束日期。例如,我们可以使用以下脚本来计算当前日期所在星期的结束日期:

DECLARE @StartDate DATETIME
SET @StartDate = GETDATE() -DATEPART(dw,GETDATE())+7

SELECT @StartDate AS '当前星期开始日期',
       DATEADD(day, 6, @StartDate) AS '当前星期结束日期'

这将返回当前日期所在星期的开始日期和结束日期。其中,DATEPART函数可以返回当前日期是星期几(1-7),然后我们可以将其减去得到星期开始日期,再加上7得到星期结束日期。

使用CASE语句计算星期结束日期

除了使用内置函数,我们还可以使用CASE语句来计算星期结束日期。以下是一个简单的示例:

DECLARE @Today DATETIME
SELECT @Today = GETDATE()

SELECT @Today AS '今天日期',
       (CASE DATEPART(dw, @Today)
            WHEN 1 THEN DATEADD(day,6,@Today)
            WHEN 2 THEN DATEADD(day,5,@Today)
            WHEN 3 THEN DATEADD(day,4,@Today)
            WHEN 4 THEN DATEADD(day,3,@Today)
            WHEN 5 THEN DATEADD(day,2,@Today)
            WHEN 6 THEN DATEADD(day,1,@Today)
            WHEN 7 THEN @Today
        END) AS '本周结束日期'

在这个例子中,我们使用CASE语句根据当前日期是星期几计算星期结束日期。根据日期是星期一到星期六,我们可以分别添加1到6天,最后星期日的日期不需要添加天数。

总结

使用SQL内置函数和语句可以很容易地计算星期结束日期。我们可以根据需要选择更方便或更适合的方法来实现这个功能。