交叉取时间
字段
startDate endDate2012-1-1 2012-1-1... ...2012-1-15 2012-1-16
create table tb( startdate datetime, enddate datetime)insert into tbselect '2012-1-1','2012-1-1' union allselect '2012-1-4','2012-1-6' union allselect '2012-1-15','2012-1-16' select MIN (startdate),MAX (enddate) from tb
[解决办法]
create table mpt(startDate date, endDate date)insert into mptselect '2012-1-1', '2012-1-1' union allselect '2012-1-15', '2012-1-16'with t as(select row_number() over(order by (select 0)) rn,startDate,endDate from mpt)select (select startDate from t where rn=1) startDate,(select top 1 endDate from t order by rn desc) endDatestartDate endDate---------- ----------2012-01-01 2012-01-16(1 row(s) affected)