gpt4 book ai didi

sql - 如何获取未在目标日期运行的天数

转载 作者:行者123 更新时间:2023-12-02 16:53:22 28 4
gpt4 key购买 nike

我有一个这样的示例数据:

DECLARE @T Table (ID INT, Name VARCHAR(10), DOB DATE)

INSERT INTO @T (ID,Name,DOB) VALUES (1,'Mohan','2016-11-11')
INSERT INTO @T (ID,Name,DOB) VALUES (2,'Raj','2016-11-07')
INSERT INTO @T (ID,Name,DOB) VALUES (3,'Manny','2016-10-30')
INSERT INTO @T (ID,Name,DOB) VALUES (4,'kamal','2016-11-01')
INSERT INTO @T (ID,Name,DOB) VALUES (5,'Raj','2016-11-08')
INSERT INTO @T (ID,Name,DOB) VALUES (6,'Manasa','2016-11-10')

我的问题是当我周日(即 2016 年 6 月 11 日)在此表上运行查询时

例如:

Select Count(*), Cnt  
from @T /* how to write logic for missing days */

我的输出:

Cnt   Days
6 0 Days

当我在星期四(即 06/11/2016)运行它时,也是同样的情况

Cnt   Days
6 4 Days

我需要如何获得这个。每个星期日都会运行,如果星期六运行,它应该显示 6 天和星期日到星期日的计算。

请建议一些方法来做到这一点 - 我无法继续前进

最佳答案

要获取自星期日以来的天数,您可以使用 DATEPART 函数以整数形式获取星期几,其中 Sunday = 1,Saturday = 7。因此对于本例:

SELECT COUNT(*), DATEPART(WEEKDAY, GETDATE()) - 1 
FROM @T

关于sql - 如何获取未在目标日期运行的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40539919/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com