gpt4 book ai didi

sql - 使用T-SQL获取下个月的第一个星期日

转载 作者:行者123 更新时间:2023-12-03 13:49:14 25 4
gpt4 key购买 nike

寻找一种获取日期格式为“11/1/2009”的日期的方法,这将是下个月的第一个星期日。我想在10月的第一个星期日之后运行此查询,以获取下个月的第一个星期日。用T-SQL查询完成此操作的最佳方法是什么?

谢谢

最佳答案

试试这个:

Declare @D Datetime 
Set @D = [Some date for which you want the following months' first sunday]
Select DateAdd(day, (8-DatePart(weekday,
DateAdd(Month, 1+DateDiff(Month, 0, @D), 0)))%7,
DateAdd(Month, 1+DateDiff(Month, 0, @D), 0))

编辑说明:

下个月的第一个月由以下表达式给出:
DateAdd(Month, 1+DateDiff(Month, 0, @D), 0)

或通过:
通过将1更改为2,可以将其修改为从现在起两个月的第一个月:
DateAdd(Month, 2+DateDiff(Month, 0, @D), 0) 

编辑:响应@NissanFan和@Anthony:修改此值以返回第一个星期一,星期二,星期三,等等,将值8更改为9、10、11等。
Declare @Sun TinyInt Set @Sun = 8
Declare @Mon TinyInt Set @Mon = 9
Declare @Tue TinyInt Set @Tue = 10
Declare @Wed TinyInt Set @Wed = 11
Declare @Thu TinyInt Set @Thu = 12
Declare @Fri TinyInt Set @Fri = 13
Declare @Sat TinyInt Set @Sat = 14
Declare @D Datetime, @FONM DateTime -- FirstofNextMonth
Set @D = [Some date for which you want the following months' first sunday]
Set @FONM = DateAdd(Month, 1+DateDiff(Month, 0, @D),0)

Select
DateAdd(day, (@Sun -DatePart(weekday, @FONM))%7, @FONM) firstSunInNextMonth,
DateAdd(day, (@Mon -DatePart(weekday, @FONM))%7, @FONM) firstMonInNextMonth,
DateAdd(day, (@Tue -DatePart(weekday, @FONM))%7, @FONM) firstTueInNextMonth,
DateAdd(day, (@Wed -DatePart(weekday, @FONM))%7, @FONM) firstWedInNextMonth,
DateAdd(day, (@Thu -DatePart(weekday, @FONM))%7, @FONM) firstThuInNextMonth,
DateAdd(day, (@Fri -DatePart(weekday, @FONM))%7, @FONM) firstFriInNextMonth,
DateAdd(day, (@Sat -DatePart(weekday, @FONM))%7, @FONM) firstSatInNextMonth

关于sql - 使用T-SQL获取下个月的第一个星期日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1506036/

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