查询给定日期所在月的第一个星期一是哪天 sql语句
查询给定日期所在月的第一个星期一是哪天 sql语句
declare @date datetime; set @date = getdate() --思路,1900-01-01(星期一)加上(给定日志所在月的月6号与1900-01-01差的周数)个周 --为什么不选7号?如果是7号,那么7好恰好是星期日的话,第一个周一就会算到8号。 --为什么不选5号?如果5号是星期六,那么周一就跑到上月了。小于5号与这个道理一样。 select dateadd(week,datediff(week,0,dateadd(day,6-datepart(day,@date),@date)),0) '所在月的第一个星期一' select dateadd(week,datediff(week,0,dateadd(day,6-datepart(day,@date),@date)),7) '所在月的第二个星期一' select dateadd(week,datediff(week,0,dateadd(day,6-datepart(day,@date),@date)),1) '所在月的第一个星期二' select dateadd(week,datediff(week,0,dateadd(day,6-datepart(day,@date),@date)),8) '所在月的第二个星期二' go
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号