如何在 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'