📜  如何在 SQL Server 查询中排除周末?

📅  最后修改于: 2022-05-13 01:55:15.641000             🧑  作者: Mango

如何在 SQL Server 查询中排除周末?

通过本文,我们将学习如何在 SQL Server 查询中排除周末。对于此任务,我们使用 DATEADD() MS.SQL 服务器函数。 SQL Server 中的此函数用于总结到指定日期的时间或日期间隔,然后返回修改后的日期。

句法 :

DATEADD(interval, number, date)

因此,我们将首先创建一个数据库:

第一步:创建数据库:

询问:

CREATE DATABASE GFG

第 2 步:使用数据库

USE GFG

第 3 步:创建表

在数据库中创建一个表(EmployeeCalender)来存储数据。



CREATE TABLE EmployeeCalender (
 EmpCalDate datetime NOT NULL ,
 IsBusinessDay char (1)
)

第 4 步:向表中插入数据

询问:

/* Data Inserted for a full week dates*/

INSERT INTO EmployeeCalender (EmpCalDate, IsBusinessDay) VALUES ('9/06/2021','Y')
INSERT INTO EmployeeCalender (EmpCalDate, IsBusinessDay) VALUES ('9/07/2021','Y')
INSERT INTO EmployeeCalender (EmpCalDate, IsBusinessDay) VALUES ('9/08/2021','Y')
INSERT INTO EmployeeCalender (EmpCalDate, IsBusinessDay) VALUES ('9/09/2021','Y')
INSERT INTO EmployeeCalender (EmpCalDate, IsBusinessDay) VALUES ('9/10/2021','Y')
INSERT INTO EmployeeCalender (EmpCalDate, IsBusinessDay) VALUES ('9/11/2021','N')
INSERT INTO EmployeeCalender (EmpCalDate, IsBusinessDay) VALUES ('9/12/2021','N')

第 5 步:现在我们将编写 SQL 查询,该查询将获取除非工作日以外的所有工作日。

询问:

SELECT * FROM EmployeeCalender WHERE EmpCalDate >= DATEADD(d,-7,GETDATE())
AND
EmpCalDate < DATEADD(d,7,GETDATE())
AND
IsBusinessDay ='Y'

不包括周末的日期输出