如果一个月有5个星期,如何计算一周?

时间:2012-07-27 04:27:37

标签: sql sql-server sql-server-2005

我有问题计算数据只显示四周的那周。怎么计算是否有五周?我不知道该怎么做。 有人知道吗?。:(

3 个答案:

答案 0 :(得分:0)

选择count(datepart(dw,datecoln))为col1 来自YourTable 按日期分组(dw,datecoln) 有月(datecoln)= @ inputMonth

如果你在col1中得到任何值为5的记录。

答案 1 :(得分:0)

理想情况下,我们一个月内不会有5个星期。

答案 2 :(得分:-1)

这是逻辑。

计算给定日期的周数

查找当月的第一天并找到其周数(比较开始

查找月份的最后一天,并查找其周数(结束

当前日期的结束日数=结束日期

DECLARE @GivenDate datetime
DECLARE @start BIGINT
DECLARE @end BIGINT
SET @givendate=getdate()--You can supply your date

SET @start =  (SELECT DATEPART(wk,(SELECT DATEADD(mm,DATEDIFF(mm,0,@GivenDate),0))))
SET @end =  (SELECT DATEPART(wk,(SELECT DATEADD(ms,- 3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,@GivenDate)+1,0))))))

SELECT (@end-@start)+1 AS NoOfWeeks

Refer this to find week number

Or Refer this post