gpt4 book ai didi

sql-server - 如何修改 SQL 查询以仅输出特定时间段内周六和周日的数据?

转载 作者:行者123 更新时间:2023-12-02 18:49:00 25 4
gpt4 key购买 nike

我正在运行 SQL Server 2014 并且以下查询运行良好。但是,我需要修改它,以便它仅输出查询中指定时间段内的 StayDates,即 SaturdaysSundays

我搜索了一些解决方案,但发现了一些难以理解的复杂解决方案。有些人提到使用 INTERVAL DAYOFWEEK 代码,但没有明确的解释让我测试这些代码。

这是我的查询目前的情况:

SELECT ResID, MIN(STAYDATE) AS 'Start Date',MAX(STAYDATE) AS 'End Date'
FROM RStayDate
WHERE StayDate BETWEEN '2014-10-01' AND '2014-12-31'
GROUP BY ResID

我需要修改代码,以便与周末(周六和周日)相关的记录被制成表格,而不是向我提供与查询中提到的特定时间段相关的所有记录.

最佳答案

使用DATEPART函数:

SELECT ResID, MIN(STAYDATE) AS 'Start Date',MAX(STAYDATE) AS 'End Date'
FROM RStayDate
WHERE StayDate BETWEEN '2014-10-01' AND '2014-12-31' AND DATEPART(dw, STAYDATE) IN(7, 1)
GROUP BY ResID

@Richard 提到这取决于设置,因此您应该在此处检查:

https://msdn.microsoft.com/en-us/library/ms174420.aspx

When datepart is week (wk, ww) or weekday (dw), the return value depends on the value that is set by using SET DATEFIRST.

关于sql-server - 如何修改 SQL 查询以仅输出特定时间段内周六和周日的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30256699/

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