sqlserver月份查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver月份查询相关的知识,希望对你有一定的参考价值。
如:
相差月 开始月 结束月 id
2 2014-08-01 2014-10-11 a
1 2014-09-01 2014-10-11 b
3 2014-07-01 2014-10-11 c
查询显示:
id 月份
a 2014-09-01
a 2014-10-01
b 2014-10-01
c 2014-08-01
c 2014-09-01
c 2014-10-01
As
(
Select ID,结束月,相差月 From TT
Union All
Select T.ID,Dateadd(M,-1,T.结束月),T.相差月-1 From TT Inner Join T On
TT.id=T.id Where T.相差月>1
)
Select ID,结束月 From T
Order By id,结束月
--TT是你的表名
--SQL2005或以上版本本回答被提问者和网友采纳
sqlserver如何取得一个月份内所有的日期
RT
--获取当前月select convert(varchar(10),dateadd(dd,number,convert(varchar(8),getdate(),120)+'01'),120) as dt
from master..spt_values
where type='P'
and dateadd(dd,number,convert(varchar(8),getdate(),120)+'01')<=dateadd(dd,-1,convert(varchar(8),dateadd(mm,1,getdate()),120)+'01')
/**
dt
----------
2011-08-01
2011-08-02
2011-08-03
2011-08-04
2011-08-05
2011-08-06
2011-08-07
2011-08-08
2011-08-09
2011-08-10
2011-08-11
2011-08-12
2011-08-13
2011-08-14
2011-08-15
2011-08-16
2011-08-17
2011-08-18
2011-08-19
2011-08-20
2011-08-21
2011-08-22
2011-08-23
2011-08-24
2011-08-25
2011-08-26
2011-08-27
2011-08-28
2011-08-29
2011-08-30
2011-08-31
(所影响的行数为 31 行)
**/ 参考技术A 百度就行了
以上是关于sqlserver月份查询的主要内容,如果未能解决你的问题,请参考以下文章