我有这张桌子:
create table #tbl
(
dt datetime
)
insert into #tbl values ('2013-01-01 00:00:00')
insert into #tbl values ('2013-02-01 00:00:00')
insert into #tbl values ('2013-02-02 00:00:00')
insert into #tbl values ('2013-03-01 00:00:00')
我需要得到每个不同月份的开始和结束,换句话说,这是预期的结果:
[start] [end]
2013-01-01 00:00:00.000 2013-01-31 23:59:59.997
2013-02-01 00:00:00.000 2013-02-28 23:59:59.997
2013-03-01 00:00:00.000 2013-03-31 23:59:59.997
我不知道该怎么做。请帮忙。
select
dateadd(mm, datediff(mm, 0, ???, 0),
dateadd(ms, -3, dateadd(mm, datediff(m, 0, ??? + 1, 0))
我正在使用 MS SQL Server 2008。