sql-server – sql server中给定月份的最后一个星期五

前端之家收集整理的这篇文章主要介绍了sql-server – sql server中给定月份的最后一个星期五前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在T-sql获取本月最后一个星期五的日期?

我将把年份和月份作为参数传递,例如201211.
如果我通过’201211’作为参数,它应该返回’20121130’作为答案,因为它是11月的最后一个星期五的日期.

解决方法

1900年1月5日是星期五.这使用了基准日期并计算任何给定月份的最后一个星期五,但您必须在月份期间给它一个日期而不仅仅是月份本身.将2012-12-01替换为您当月的日期
SELECT DATEADD(DY,DATEDIFF(DY,'1900-01-05',DATEADD(MM,DATEDIFF(MM,'2012-12-01'),30))/7*7,'1900-01-05')

你也可以使用它来取代1900-01-05与1900-01-06等的最后一个星期六.

猜你在找的MsSQL相关文章