Abh*_*ora 7 t-sql sql-server sql-date-functions
如何在T-SQL中获取本月最后一个星期五的日期?
我将把年份和月份作为参数传递,例如,201211.如果我通过'201211'作为参数,它应该返回'20121130'作为答案,因为它是11月的最后一个星期五的日期.
Cia*_*rán 11
1900年1月5日是星期五.这使用了基准日期并计算任何给定月份的最后一个星期五,但您必须在月份期间给它一个日期而不仅仅是月份本身.将此处替换为2012-12-01
您当月的日期
SELECT DATEADD(DY,DATEDIFF(DY,'1900-01-05',DATEADD(MM,DATEDIFF(MM,0,'2012-12-01'),30))/7*7,'1900-01-05')
Run Code Online (Sandbox Code Playgroud)
您也可以通过替换1900-01-05
WITH 1900-01-06
等来使用它来获取上周六.