Sql server 查询某个时间段,分布有几周,几月和几日


 

1. 查询:以“周”为单位

--查询以下时间段内分别有几周
--时间段:“2017-09-01”到“2017-10-1”
select number as wknum 
from master..spt_values
where type='p'  
AND number>=datepart(wk,'2017-9-1') 
and number<= datepart(wk,'2017-10-1') 


  结果如下图

 

 

2. 查询:以“月”为单位

--查询以下时间段内分别有几月
--时间段:“2017-09-01”到“2017-10-1”
select number as wknum 
from master..spt_values
where type='p'  
AND number>=datepart(mm,'2017-9-1') 
and number<= datepart(mm,'2017-10-1')

 

  结果如下图

 

 

3. 查询:以“日”为单位

--查询以下时间段内分别有几日
--时间段:“2017-09-29”到“2017-10-3”
select convert(varchar(10),DATEADD(day,number,'2017-9-29') ,120) wknum
from master.dbo.spt_values 
where type='p' 
AND number<=DATEDIFF(day,'2017-9-29','2017-10-3')

 

  结果如下图

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM