Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何根据周数计算一个月内剩余天数?_Sql_Sql Server_Sql Server 2008 R2 - Fatal编程技术网

Sql 如何根据周数计算一个月内剩余天数?

Sql 如何根据周数计算一个月内剩余天数?,sql,sql-server,sql-server-2008-r2,Sql,Sql Server,Sql Server 2008 R2,我有一个周数,比如32,我需要得到从本周开始的一个月内剩余的天数。如何在SQL Server中执行操作?请尝试DATEPART(DATEPART,date)和DATEPART可以是工作日、日、月或类似的日期 首先访问此,您需要找到所讨论周的第一天。为了做到这一点,我们还需要知道您想要哪一年。在下面的示例中,我使用当前年份。完成后,我们可以使用DATEDIFF()查找从您传入的周数开始到月末的剩余天数 DECLARE @WeekNo int= 32 DECLARE @Year int=datepa

我有一个周数,比如32,我需要得到从本周开始的一个月内剩余的天数。如何在SQL Server中执行操作?

请尝试
DATEPART(DATEPART,date)
DATEPART
可以是工作日、日、月或类似的日期


首先访问此

,您需要找到所讨论周的第一天。为了做到这一点,我们还需要知道您想要哪一年。在下面的示例中,我使用当前年份。完成后,我们可以使用
DATEDIFF()
查找从您传入的周数开始到月末的剩余天数

DECLARE @WeekNo int= 32
DECLARE @Year int=datepart(year,getdate())

SELECT 
    FirstDayOfWeek =  DATEADD(wk,@WeekNo-1,DATEADD(yy,@Year-1900,0))
    ,LastDayOfMonth = DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, DATEADD(wk,@WeekNo-1,DATEADD(yy,@Year-1900,0))) + 1, 0))
    ,DaysLeftInMonth = DATEDIFF(day,DATEADD(wk,@WeekNo-1,DATEADD(yy,@Year-1900,0)),DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, DATEADD(wk,@WeekNo-1,DATEADD(yy,@Year-1900,0))) + 1, 0)))

@number of_days=7
?我需要得到这个星期的月份号。然后我需要知道每个月剩余32天的周数。可能的重复是指该周需要7天?你应该用你真正需要的更新你的问题,以及一些示例输出。除非一周只有一天,否则该月剩余的天数是不确定的。