日期:2014-05-17 浏览次数:20573 次
create table #tb(员工ID varchar(10),员工名 varchar(10),
假别 varchar(10),请假开始时间 datetime,请假结束时间 datetime)
insert into #tb
values('001','张三','事假','2013-10-16 08:00','2013-10-20 17:20')
select distinct a.员工ID,a.员工名,a.假别, dateadd(day,b.number,a.请假开始时间) as 请假开始时间,
convert(varchar(11),dateadd(day,b.number,a.请假开始时间),120)+convert(varchar(8),a.请假结束时间,108) as 请假结束时间
from #tb a,master..spt_values b
where b.number between 0 and 4
/*
员工ID 员工名 假别 请假开始时间 请假结束时间
001 张三 事假 2013-10-16 08:00:00.000 2013-10-16 17:20:00
001 张三 事假 2013-10-17 08:00:00.000 2013-10-17 17:20:00
001 张三 事假 2013-10-18 08:00:00.000 2013-10-18 17:20:00
001 张三 事假 2013-10-19 08:00:00.000 2013-10-19 17:20:00
001 张三 事假 2013-10-20 08:00:00.000 2013-10-20 17:20:00
*/
IF OBJECT_ID('tb') IS NOT NULL DROP TABLE tb
CREATE TABLE tb([员工ID] VARCHAR(5),[员工名] NVARCHAR(5),[假别] NVARCHAR(40),[请假开始时间] VARCHAR(16),[请假结束时间] VARCHAR(16))
INSERT INTO tb([员工ID],[员工名],[假别],[请假开始时间],[请假结束时间])
SELECT '001','张三','事假','2013-10-16 08:00','2013-10-20 17:20'
declare @time1 varchar(6),@time2 varchar(6)
set @time1=' 08:00'
set @time2=' 17:20'
select b.[员工ID],b.[员工名],b.[假别]
,convert(varchar(10),dateadd(dd,a.number,b.[请假开始