select *, (case when(convert(datetime,[会议时间]+' '+[会议室开始时间],121)<=GETDATE() and convert(datetime,[会议时间]+' '+[会议室结束时间],121)>GETDATE()) then '使用' else '空闲' end ) [状态] From #TH
insert into #TH select 1,'2013-12-23',1,'第一会议室','13:00','15:00' union select 2,'2013-12-26',2,'第二会议室','9:00','10:00' union select 3,'2013-12-28',3,'第三会议室','9:00','11:00' union select 4,'2013-12-29',4,'第四会议室','9:00','11:00' union select 5,'2013-12-30',5,'第五会议室','9:00','11:00' union select 6,'2013-12-30',6,'第六会议室','16:00','20:00' --测试用
select *, (case when(convert(datetime,[会议时间]+' '+[会议室开始时间],121)<=GETDATE() and convert(datetime,[会议时间]+' '+[会议室结束时间],121)>GETDATE()) then '使用' else '空闲' end ) [状态] From #TH
--第一种结果 select *, (case when(convert(datetime,[会议时间]+' '+[会议室开始时间],121)<=GETDATE() and convert(datetime,[会议时间]+' '+[会议室结束时间],121)>GETDATE()) then '使用' else '空闲' end ) [状态] From #TH
--第二种结果 select [会议室名称], isnull([2013-12-23],'空闲') [2013-12-23], isnull([2013-12-26],'空闲') [2013-12-26], isnull([2013-12-28],'空闲') [2013-12-28], isnull([2013-12-29],'空闲') [2013-12-29], isnull([2013-12-30],'空闲') [2013-12-30] from ( select *, (case when(convert(datetime,[会议时间]+' '+[会议室开始时间],121)<=GETDATE() and convert(datetime,[会议时间]+' '+[会议室结束时间],121)>GETDATE()) then '使用' else '空闲' end ) [状态] From #TH ) a pivot (max([状态]) for [会议时间] in ([2013-12-23],[2013-12-26],[2013-12-28],[2013-12-29],[2013-12-30])) x
--第一种结果 select *, (case when(convert(datetime,[会议时间]+' '+[会议室开始时间],121)<=GETDATE() and convert(datetime,[会议时间]+' '+[会议室结束时间],121)>GETDATE()) then '使用' else '空闲' end ) [状态] From #TH