日期:2014-05-17 浏览次数:20510 次
select *,
(case when(convert(datetime,[会议时间]+' '+[会议室开始时间],121)<=GETDATE() and convert(datetime,[会议时间]+' '+[会议室结束时间],121)>GETDATE()) then '使用'
else '空闲' end ) [状态] From #TH
编号 会议时间 会议室编号 会议室名称 会议室开始时间 会议室结束时间 状态
1 2013-12-23 1 第一会议室 13:00 15:00 空闲
2 2013-12-26 2 第二会议室 9:00 10:00 空闲
3 2013-12-28 3 第三会议室 9:00 11:00 空闲
4 2013-12-29 4 第四会议室 9:00 11:00 空闲
5 2013-12-30 5 第五会议室 9:00 11:00 空闲
6 2013-12-30 6 第六会议室 16:00 20:00 使用
--创建会议记录表
create table #TH(
[编号] int null,
[会议时间] varchar(10) null,
[会议室编号] int null,
[会议室名称] varchar(50) null,
[会议室开始时间] varchar(20) null,
[会议室结束时间] varchar(20) null
)
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