gpt4 book ai didi

SQL 查找丢失的日期范围

转载 作者:行者123 更新时间:2023-12-04 14:20:08 25 4
gpt4 key购买 nike

我有一张包含一年中所有天/月的表格

例如。

Day      Month
1 9
2 9
3 9
4 9
5 9
6 9
7 9
... ...

我有一个表格显示来自不同数据集的日期范围

例如。
 DataSet    DateRange
webshop 2013-09-20
webshop 2013-09-21
webshop 2013-09-22
webshop 2013-09-23
webshop 2013-09-24
webshop 2013-09-25
webshop 2013-09-26
webshop 2013-09-27
webshop 2013-09-28
webshop 2013-09-29
webshop 2013-09-30

我将如何比较这两个表以显示该特定月份的 DataSet 中缺少哪些天

例如。对于我上面的示例,其中数据集是 webshop它缺少日期范围 01/09/2013 - 19/09/2013

谢谢你的帮助!

最佳答案

您可以使用 CTE 并将查询编写为:

declare @StartDate DATE, @EndDate DATE
set @StartDate = '2013-09-01';
set @EndDate = '2013-09-30';

WITH DateRange(Date) AS
(
SELECT
@StartDate Date
UNION ALL
SELECT
DATEADD(day, 1, Date) Date
FROM
DateRange
WHERE
Date < @EndDate
)

SELECT 'webshop',Date
FROM DateRange
EXCEPT
SELECT DataSet,DateRange
FROM ImportedDateRange
WHERE DataSet='webshop'
--You could remove Maximum Recursion level constraint by specifying a MaxRecusion of zero
OPTION (MaxRecursion 10000);

关于SQL 查找丢失的日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20677472/

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