sql - SQL 查询从可变日期找出一周的非周末(周一至周五)日期
问题描述
我正在编写一个 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)
解决方案
我正在使用以下 SQL 查询获得所需的输出:-
SELECT DATEADD(week,DATEDIFF(week,0,GETDATE()),0)
SELECT DATEADD(week,DATEDIFF(week,0,GETDATE()),4)
推荐阅读
- windows - 如何清除 Powershell 缓存
- angular - Ag-grid 如何在小弹出窗口中添加自定义按钮?
- python - Pipenv libarchive 错误:没有这样的文件或目录:b'liblibarchive.a'
- javascript - 延迟加载聊天集成几秒钟
- python - 出现错误:TypeError:+ 的不支持的操作数类型:“NoneType”和“str”
- android - 如何将可绘制文件绑定到变量 - Kotlin
- java - 将 Flyway 设置为在 Spring Boot 中使用不同的环境
- android - React Native - XML中的活动识别权限请求,仍然请求权限
- reactjs - 如何聚合对象属性?
- pdf - 以 PDF 格式正确保存以驱动 Google 表格