我正在编写 SQL 查询以从可变日期中找出一周的非周末日期(即周一至周五)。
基本上,它应该显示给定日期的一周的周末(周六和周日)没有出现的日期。
例如如果给定的日期是 2021 年 1 月 6 日。那么输出日期应该在 2021 年 1 月 4 日至 8 日之间。
即 Week_Start_Date
应为 2021-01-04,而 Week_End_Date
应为 2021-01-08。
我正在编写以下代码,通过引用日期来找出非周末天数,并编写查询以使用引用日期找出 Week_Start_Date
和 Week_End_Date
,但无法结合这两者。
DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME
SET @StartDate = '2021/01/04'
SET @EndDate = '2021/01/08'
SELECT
(DATEDIFF(dd, @StartDate, @EndDate) + 1)
-(DATEDIFF(wk, @StartDate, @EndDate) * 2)
-(CASE WHEN DATENAME(dw, @StartDate) = 'Sunday' THEN 1 ELSE 0 END)
-(CASE WHEN DATENAME(dw, @EndDate) = 'Saturday' THEN 1 ELSE 0 END)
SELECT DATEADD(DAY, 2 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) [Week_Start_Date],
DATEADD(DAY, 8 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)) [Week_End_Date] ;
编辑:
我使用以下 SQL 查询获得所需的输出:-
SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),0)
SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),4)
答案 0 :(得分:0)
我使用以下 SQL 查询获得所需的输出:-
SELECT DATEADD(week,DATEDIFF(week,0,GETDATE()),0)
SELECT DATEADD(week,DATEDIFF(week,0,GETDATE()),4)