获取工作日(周一-周五)并在查询中替换为"between"
Get working days (Monday-Friday) and replace them with "between" in query
我有一些查询,我要在“介于”字段中替换 2 个日期。
SELECT ...
FROM ...
WHERE o.EventDate between @startDate and @endDate
如何使请求中只处理工作日。也就是说,如果我通过,例如,startDay = '04/14/2022' , endDay = '04/28/22',那么请求中只会处理工作日(周一至周五)
这是一个查询,它提供您的预期输出,例如给定日期和周一至周五的工作日之间的日期
但是有些 public 假期不计入工作日,因此您必须创建 master table 来告诉您的组织认为哪些 public 假期不在工作日,并从您的查询
这里我的查询(SQL 服务器)考虑一周的第一天是星期日,所以使用 2-6 之间的范围
SELECT columns FROM Table
WHERE date_column BETWEEN @startDate AND @endDate
AND DATEPART(WEEKDAY, date_column) BETWEEN 2 AND 6
这里是提供预期输出的查询,例如给定日期和从星期一到星期五的工作日之间的日期:
SELECT columns
FROM Table
WHERE date_column between @startDate AND @endDate
AND DATENAME(DW,date_column) not in ('Saturday','Sunday')
我有一些查询,我要在“介于”字段中替换 2 个日期。
SELECT ...
FROM ...
WHERE o.EventDate between @startDate and @endDate
如何使请求中只处理工作日。也就是说,如果我通过,例如,startDay = '04/14/2022' , endDay = '04/28/22',那么请求中只会处理工作日(周一至周五)
这是一个查询,它提供您的预期输出,例如给定日期和周一至周五的工作日之间的日期 但是有些 public 假期不计入工作日,因此您必须创建 master table 来告诉您的组织认为哪些 public 假期不在工作日,并从您的查询
这里我的查询(SQL 服务器)考虑一周的第一天是星期日,所以使用 2-6 之间的范围
SELECT columns FROM Table
WHERE date_column BETWEEN @startDate AND @endDate
AND DATEPART(WEEKDAY, date_column) BETWEEN 2 AND 6
这里是提供预期输出的查询,例如给定日期和从星期一到星期五的工作日之间的日期:
SELECT columns
FROM Table
WHERE date_column between @startDate AND @endDate
AND DATENAME(DW,date_column) not in ('Saturday','Sunday')