我有以下的sql語句來查找所有星期一的日期。sql查找今天日期之後的所有星期一
SELECT DateAdd(week,
o1.v + o0.v,
DateAdd(day,
2 - DatePart(dw, Convert(VARCHAR(4), 2012) + '-01-01'),
Convert(VARCHAR(4), 2012) + '-01-01'
)
)
FROM (SELECT 0 AS v UNION
SELECT 8 UNION
SELECT 16 UNION
SELECT 24 UNION
SELECT 32 UNION
SELECT 40 UNION
SELECT 48) AS o1
CROSS JOIN (SELECT 0 AS v UNION
SELECT 1 UNION
SELECT 2 UNION
SELECT 3 UNION
SELECT 4 UNION
SELECT 5 UNION
SELECT 6 UNION
SELECT 7) AS o0
WHERE 2012 = DatePart(year,
DateAdd(week,
o1.v + o0.v,
DateAdd(day,
2 - DatePart(dw, Convert(VARCHAR(4), 2012) + '-01-01'),
Convert(VARCHAR(4), 2012) + '-01-01')
)
)
我該如何修改它才能在今天的日期之後找到所有星期一的日期?
的最好的事情有關日曆表是查詢他們可以看到* *是正確的。將此查詢與SQL Server或Oracle中的一個使用日期算法進行比較。在一個日曆表中的百年只有36k行,這實際上什麼都沒有。 – 2012-03-08 11:04:27